* public-gh/master: (437 commits)
test(ui): wait for workspace selector in new issue dialog test
Add draft routine defaults and run-time overrides
Remove workspace link package preflight hooks
Scope workspace link preflight to linked worktrees
fix(server): reject non-participant stage mutations
test(ui): align inbox badge fixture with dismissal state
test(server): align isolated route specs with current behavior
fix(ci): run workspace preflight through server toolchain
fix(ui): repair issue detail split regressions
test(server): isolate route modules in endpoint tests
fix(ui): harden issue comment editor sync
Disable inbox nesting on mobile
Speed up issue detail comments and refreshes
Guard issue chat against assistant-ui crashes
Add explicit review start action in issue sidebar
Improve issue detail load stability
Keep interrupted runs stable in issue chat
Add breathing room when focusing comment composer
Make issue chat composer inline again
Prevent g c from leaking into global shortcuts
...
Shows a beautiful categorized cheatsheet of all keyboard shortcuts
(inbox, issue detail, global) when the user presses ? with keyboard
shortcuts enabled. Respects text input focus detection — won't trigger
in text fields. Uses the existing Dialog component and Radix UI.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Use createHistoricalTranscriptMessage for failed/cancelled/timed_out
runs even before transcript data loads. This prevents the flash where
a plain "run X failed" status line transforms into a foldable "failed
after X minutes" header when transcripts arrive asynchronously.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Move child indentation from wrapper paddingLeft into desktopMetaLeading
so the unread dot stays in the leftmost column regardless of nesting
depth. When nesting is enabled, all issue rows get a fixed-width folding
column (chevron or empty spacer) for consistent alignment. Children
indent after the folding column. When nesting is disabled, no folding
column is rendered.
Co-Authored-By: Paperclip <noreply@paperclip.ing>