





















@@ -51,6 +51,29 @@ proof needs something else.
51515252## While Testing
535354+For visual proof, first send or identify a bottom marker message, then open the
55+group/topic directly by message id:
56+57+```bash
58+pnpm qa:telegram-user:crabbox -- view \
59+ --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
60+ --message-id <message-id>
61+```
62+63+This uses Telegram Desktop directly with `tg://privatepost`, not `xdg-open`.
64+It also resizes Telegram to `650x1000` at the tested desktop position so
65+Telegram switches to single-chat mode with no left chat list or right info
66+pane. Do not press Escape after this; Escape can close the selected chat.
67+68+Bottom behavior matters:
69+70+- deep-linking to the newest message keeps Telegram pinned to the bottom, so
71+ later messages appear live in the recording
72+- deep-linking to an older message does not auto-scroll to new arrivals; link
73+ again to the newest/final marker instead of clicking the down-arrow
74+- `650px` is the largest tested clean width; `660px` switches Telegram back to
75+ split/sidebar layout
76+5477Send as the real Telegram user:
55785679```bash
@@ -100,13 +123,17 @@ Always finish or explicitly keep the box:
100123101124```bash
102125pnpm qa:telegram-user:crabbox -- finish \
103- --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json
126+ --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
127+ --preview-crop telegram-window
104128```
105129106130`finish` stops recording, creates motion-trimmed MP4/GIF artifacts, captures a
107131final screenshot and logs, releases the Convex credential, stops the local SUT,
108-and stops the Crabbox lease. Pass `--keep-box` only when a human needs to
109-continue VNC debugging after the credential is released.
132+and stops the Crabbox lease. `--preview-crop telegram-window` also creates a
133+fixed-geometry GIF from the tested Telegram proof window for clean side-by-side
134+PR tables; the full desktop video/GIF remains in the artifact directory. Pass
135+`--keep-box` only when a human needs to continue VNC debugging after the
136+credential is released.
110137111138After any failure or interruption, verify cleanup:
112139@@ -129,19 +156,21 @@ pnpm qa:telegram-user:crabbox -- publish \
129156 --summary 'Telegram real-user Crabbox session motion GIF'
130157```
131158132-This copies only `telegram-user-crabbox-session-motion.gif` into a temporary
133-publish bundle and comments that GIF. Use `--full-artifacts` only when the PR
134-needs logs or JSON output. Never publish credential payloads, local env files,
135-TDLib databases, Telegram Desktop profiles, or raw session archives.
159+This copies only the useful GIF into a temporary publish bundle and comments
160+that GIF. If `finish --preview-crop telegram-window` produced a cropped GIF,
161+publish uses that; otherwise it uses `telegram-user-crabbox-session-motion.gif`.
162+Use `--full-artifacts` only when the PR needs logs or JSON output. Never publish
163+credential payloads, local env files, TDLib databases, Telegram Desktop
164+profiles, or raw session archives.
136165137166For before/after proof, run one session on `main` and one on the PR head, then
138167publish only the intended GIFs from a clean bundle:
139168140169```bash
141170mkdir -p .artifacts/qa-e2e/telegram-user-crabbox/pr-123/comparison
142-cp <main-output>/telegram-user-crabbox-session-motion.gif \
171+cp <main-output>/telegram-user-crabbox-session-motion-telegram-window.gif \
143172 .artifacts/qa-e2e/telegram-user-crabbox/pr-123/comparison/main-before.gif
144-cp <pr-output>/telegram-user-crabbox-session-motion.gif \
173+cp <pr-output>/telegram-user-crabbox-session-motion-telegram-window.gif \
145174 .artifacts/qa-e2e/telegram-user-crabbox/pr-123/comparison/pr-after.gif
146175crabbox artifacts publish \
147176 --repo openclaw/openclaw \
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。