Commit Graph
1 Commits
Author SHA1 Message Date
Jinwoo-HandOrca 580d314c3f CHECKPOINT: Fix mobile phone-fit bugs and Claude startup on new workspace
Server-side mobile fit architecture:
- handleMobileSubscribe/Unsubscribe with per-ptyId restore timers
- Server-authoritative display mode (auto/phone/desktop) per terminal
- Inline resize events on subscribe stream replace resubscribe pattern
- terminal.subscribe waits for PTY spawn (mobile left-pane race)

Bug fixes:
- Fix Claude not launching from mobile (Bug 6): worktree.create RPC
  schema now accepts startupCommand from mobile, passes it through to
  createManagedWorktree → activateWorktree startup param
- Fix waitForLeafPtyId handle invalidation: capture tabId/leafId before
  handle can be invalidated, fall back to direct leaf lookup
- Fix desktop banner accumulation on tab switch (Bug 8): restore timer
  cancel scoped to same ptyId only, not all client timers
- Fix pane ID collision banners: use transport ptyId for override lookup
  instead of pane ID which collides across tabs
- Fix 0-terminals during rapid tab switch (Bug 7): consecutive-empty
  guard with lastKnownTerminalCountRef
- Mobile subscribe waits for PTY spawn with graphSync callback

Co-authored-by: Orca <help@stably.ai>
2026-04-30 18:03:57 -04:00