Record screen video around the cursor + console dump per recording
The recorder now captures continuous screen video instead of single frames
per event. captureVisibleTab is quota-limited to ~2 shots/sec, so the video
rides a CDP screencast (Page.startScreencast) over the chrome.debugger
connection: frames arrive throttled to ~15 fps, decimated past 600 to bound
memory. At submit, the GIF is cropped to a 512×512 square centered on the
cursor position from the mouse track at each frame's time, paced by real
frame gaps — a "video" of exactly the area the tester was looking at.
Firefox and a busy debugger degrade to the old per-event screenshots; the
video path is a videoCapture setting (default on, like hoverReplay).

Console errors now ride along with recordings: a MAIN-world document_start
tap wraps console.error/warn and the uncaught error/rejection handlers,
posts through the relay content script, and lands as "console" timeline
steps (capped at 200, text truncated at 2000 chars). New consoleCapture
setting; the server schema, shared types and the panel timeline (warning
icon) accept the new step type; replay counts such no-effect steps as
played so the played/total summary stays honest.

E2E generates a console error + warning mid-recording, asserts the console
steps, and validates the GIF header: 512px wide with 3+ frames.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent b9464b4 commit ca5a8f3ef9f7d635eff4161e8b1b4c715458b3af
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 20 hours ago
Showing 15 changed files
View
packages/extension/e2e.mjs
View
packages/extension/manifest.template.json
View
packages/extension/scripts/build.mjs
View
packages/extension/src/background/gif.ts
View
packages/extension/src/background/index.ts
View
packages/extension/src/background/settings.ts
View
packages/extension/src/console-tap.ts 0 → 100644
View
packages/extension/src/options/Options.vue
View
packages/extension/src/relay.ts
View
packages/extension/vite.config.ts
View
packages/shared/src/api.ts
View
packages/web/src/i18n/en.json
View
packages/web/src/i18n/ru.json
View
packages/web/src/pages/ReportPage.vue
View
server/app/schemas.py