Skip to content

Fix TypeScript build errors and iOS connection issues#6

Open
andreabadesso wants to merge 1 commit intomsbrogli:masterfrom
andreabadesso:fix/typescript-and-ios-fixes
Open

Fix TypeScript build errors and iOS connection issues#6
andreabadesso wants to merge 1 commit intomsbrogli:masterfrom
andreabadesso:fix/typescript-and-ios-fixes

Conversation

@andreabadesso
Copy link
Contributor

Summary

  • Fix 7 TypeScript compilation errors that break npm build
  • Fix iOS terminal connection pool race condition causing stuck "Connecting..." state
  • Fix Claude Hooks hint showing as full-screen overlay on iPhone

Frontend fixes

  • Add missing updateBridge method to ApiClient interface (used in BridgeSettingsPage but not declared)
  • Use isWindowSelection() type guard instead of !isFoldedSelection() to properly narrow Selection type — the latter doesn't exclude FoldedContainerTarget
  • Add updateBridge stub to mock API

iOS fixes

  • Remove TerminalPoolService usage from TerminalViewModel — the shared connection pool caused race conditions when switching sessions (onDisappear/onAppear timing led to stuck "Connecting..." state where the WebSocket was disconnected then never properly reconnected)
  • Each terminal session now gets its own dedicated TerminalConnection
  • Fix ClaudeHooksHintIcon showing full-screen popover sheet on iPhone by removing tap/popover from list row icons (keep it only in the tab bar where it makes sense)

Test plan

  • npm run build passes without TypeScript errors
  • Switch between sessions on iPad — terminal connects immediately
  • Switch between sessions on iPhone — no stuck "Connecting..."
  • Bridge settings page: toggle bridge enabled/disabled works
  • Window drag-and-drop reorder in sidebar preserves selection

🤖 Generated with Claude Code

Frontend:
- Add missing updateBridge method to ApiClient interface
- Use isWindowSelection() type guard instead of !isFoldedSelection()
  to properly narrow Selection type excluding FoldedContainerTarget
- Add updateBridge stub to mock API

iOS:
- Remove TerminalPoolService from TerminalViewModel — the shared
  connection pool caused race conditions when switching sessions
  (onDisappear/onAppear timing led to stuck "Connecting..." state)
- Each terminal now gets its own dedicated TerminalConnection
- Fix ClaudeHooksHintIcon showing full-screen popover on iPhone
  by removing tap interaction from list row icons

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant