RecBug for VS CodeInspect a bug report, reproduce it, or hand it to an AI assistant. UseRun RecBug: Open Bug Report for a The report has two panes: recording, action frames, and attachments on the left, report and evidence on the right. Attachments use compact image, video, or file thumbnails; click a tile to inspect its file beside the report. Hover for its full name, type, and size. Attachments are loaded from the archive manifest or an exported
Choose a test framework and Generate test to open a reproduction draft. Drafts start disabled ( Use Edit on Description, Expected, or Actual to revise a report, then Save (or Ctrl/Cmd+Enter); Cancel discards the draft. All three fields support Markdown. Saved revisions display Modified, are local to this report and editor installation, survive reopening, and update other open copies, field copying, generated tests, and AI previews, copies, exports, and handoffs. The captured archive stays unchanged. Opening different report contents at the same path starts with those report contents. Searches, filters, disclosures, AI choices, and scroll positions remain in place while switching tabs. The selected tab, test framework, pane width, and separate timeline/media positions are saved for editor restoration. New reports reset their evidence panels. Session events read Network, Console, Storage, and Performance memory history also follow video playback. All entries within one second of the current time highlight together; active requests remain highlighted for their captured duration. Playback brings the nearest entry into view while preserving request and storage selections. Storage highlights snapshots and captured history entries around their recorded times; missing times remain unhighlighted. The video seek track marks console errors and failed network requests in red. Hover or focus a marker to preview its errors; click to jump to that video time. Nearby errors group into a count marker, with individual timestamps and Inspect console or Inspect request links in the popup. Markers follow the exported clip's pause/trim timing and resize with the evidence pane. Untimed errors and errors outside the video are omitted. Failed requests use response completion time; when only a request start is captured, the popup labels that limitation. AI handoffThe preview, clipboard, chat attachment, and Markdown export use the same brief. JSON exports use the versioned Briefs are bounded to 24,000 characters. Failed response previews are opt-in and individually bounded. Cookies, storage values, request headers/bodies, input values, media, and repository contents are excluded. Best-effort text redaction does not guarantee that every captured value is safe to share. The original evidence is unchanged.
The active host IDE (Antigravity, Cursor, or VS Code) is auto-detected and pre-selected by default. Codex thread is available as an in-editor extension option. Developers can select/deselect individual evidence files (HAR HTTP telemetry, console logs, user actions, storage state, screenshots, and submitted attachments) to attach directly into the chat session alongside the diagnostic brief. Commands are detected in the running editor. Cursor and Antigravity adapters use editor-specific commands that may change. The Codex command is described in official OpenAI documentation. If a command is unavailable or fails, the brief opens in a beside editor tab and is copied to the clipboard for manual attachment or paste. Check the receiving chat attachment before submitting your request. RecBug does not submit a prompt automatically or require an AI backend or API key. The Command Palette ( Architecture
Each panel mounts once per report. Switching tabs reuses its DOM; report replacement disposes its subscriptions. Main navigation state uses the VS Code webview state API. Evidence entry indexes remain stable across filtering, display, and AI export. The report viewer uses the RecBug design system, based on the Network, Storage, and Performance panels. Keep screen copy to report data, action names, essential field labels, and actionable errors. Use accessible names for icon controls. Native sidebar trees, dialogs, and Command Palette entries use VS Code's own theme and controls. Avoid adding dependencies or abstraction layers for a single screen. Settings and cache
Clear Report Cache removes extracted evidence and generated handoff briefs after reports are closed. It keeps original files, explicitly saved exports, local report revisions, and recent history. History holds up to 30 paths/titles/priorities/open times. Hand-off files stay in extension-local storage until cleared. Imports isolate archives with identical report IDs, check original ZIP paths and streamed byte quotas, reject evidence-folder symlinks, and remove incomplete extraction folders. Optional malformed telemetry produces per-file diagnostics while valid evidence remains available. This is not complete envelope-schema validation. Checksums support SHA-256 (raw or VerifyFrom the monorepo root:
The build checks TypeScript before bundling the extension host and webview. Open the monorepo, press F5 with Run RecBug Extension (F5) selected, and run RecBug: Open Sample Report in the development host for a native smoke test. Tests cover import boundaries and recovery, history, commands, source paths, playback/timeline sync, keyboard navigation, state retention, generated-code safety, bounded/redacted AI packages, attachment adapters, and export/cancellation/fallback behavior. Browser rendering and mocked host tests do not establish native chat attachment interoperability. See AUDIT.md for the remaining limitations. |