feat: share full conversation debug transcript (identified) - #1227
feat: share full conversation debug transcript (identified)#1227ital0 wants to merge 19 commits into
Conversation
Semgrep Security ScanNo security issues found. |
|
Preview environment deployed 🚀
Stack: Auto-destroys on PR close/merge. Login via the bundled Keycloak realm — |
PR Metrics
Updated Wed, 19 Aug 2026 00:16:10 GMT · run #2728 |
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: cae274fc74a6 · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: a8a80283d0aa · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
a8a8028 to
13ad67e
Compare
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: 13ad67e1b1c7 · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: 7969b9fcb029 · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: 03f94762e8c5 · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
There was a problem hiding this comment.
🔭 thunder-deep-review (advisory)
Complements the other bots — surfaces only what they did not flag. Never approves, never requests changes, never gates merge.
head: 7b31b58f840d · mode: deep · deferred 0 item(s) already reported by other bots (best-effort dedup)
* fix: make sccache optional for Rust builds - route rustc through sccache when it is available - fall back directly to rustc when it is not installed * build: install sccache during setup - install the cache when Cargo is available - keep setup successful when the optional install fails - document the automatic best-effort installation * fix: support Playwright setup on Ubuntu ARM64 - use Ubuntu 24.04 browser builds on unsupported Ubuntu 26.04 ARM64 - stop the setup status message from executing make e2e * fix: avoid native dependencies for sccache setup * build: install only the browser used by e2e tests * docs: explain the Playwright Ubuntu fallback * fix: include pkg-config in Linux prerequisites
- host the bug icon in the last visible message's action row instead of the header so it sits next to copy and follows the same hover behavior - skip a failed turn's content-less assistant stub when picking the host, otherwise the button floats left-aligned under an invisible bubble - use a native title tooltip and the shared Button so it feels identical to copy - reword the consent dialog around "having a problem with this chat" and require an explicit consent checkbox before sending
Summary
Users can share the full agent debug log of a chat thread with the engineers who operate their server, through an explicit consent flow.
debug_transcriptsPostgres table outside PowerSync (readable without end-to-end encryption keys), authenticatedPOST /v1/debug-transcriptsgated by theDEBUG_TRANSCRIPTS_ENABLEDenv var (default off), per-user rate limit (10 uploads/hour), a path-scoped pre-parse request size check plus a 2 MB payload cap, anonymous accounts rejected, flag exposed to clients viaGET /config.Retention and deletion
user_idreferences the user withON DELETE CASCADE. No TTL in v1.Deploy notes
DEBUG_TRANSCRIPTS_ENABLED=truein the per-PR Pulumi stack (this PR), so the flow can be exercised end to end on previews. Production opts in later by setting the same variable. Self-host operators opt in viabackend/.env.example/docs/self-hosting/configuration.md.0027_outstanding_longshot(journal entry verified).Test plan