Commit Graph
97 Commits
Author SHA1 Message Date
Jinwoo-HandOrca 087095828d fix: extend session recovery to network handoffs and remaining screens
Follow-ups from the #5049 audit plus CodeRabbit review:

- connection-revival-triggers.ts (new, via expo-network): nudge clients
  on network restoration and Wi-Fi -> cellular handoffs, not just app
  foregrounding; AppState wiring moved here from client-context.
- files/source-control screens: Retry now revives the parked transport
  (forceReconnect) when disconnected instead of re-sending the request.
  getWorktreeLabel deduped into src/session/worktree-label.ts.
- session header (review): accessibility role/label only while the
  retry affordance is active.
- live harness (review): OS-assigned port instead of hardcoded 6799.

Co-authored-by: Orca <help@stably.ai>
2026-06-09 17:32:47 -07:00
Jinwoo-HandOrca fe8b4d2851 fix: recover Android remote sessions without an app restart (#5049)
The mobile rpc-client permanently stops retrying after 12 failed
attempts (~6.5 min of backoff) and nothing watched AppState, so after
Android backgrounding killed the link long enough the session sat in
'reconnecting' forever — the only recovery was reopening the app.

- rpc-client: add notifyForeground(); when connected, probe the link
  immediately (half-open sockets reaped in <=8s instead of ~28s); when
  reconnecting, clear any pending backoff, reset the attempt budget and
  reconnect at once.
- client-context: nudge every live client on AppState 'active'; fix
  useHostClient keeping a stale closed client after forceReconnect.
- session screen: make the status row tappable ("... — tap to retry")
  once classifyConnection escalates, wired to forceReconnect.
- tests: deterministic fake-timer repro of the parked loop plus
  regression coverage; opt-in live harness (real sockets, real E2EE)
  via ORCA_MOBILE_LIVE_REPRO[_FULL].

Co-authored-by: Orca <help@stably.ai>
2026-06-09 17:12:34 -07:00
Jinwoo HongandOrca 28fe76f696 Fix desktop terminal restore after mobile fit (#5039)
Co-authored-by: Orca <help@stably.ai>
2026-06-09 12:11:48 -07:00
Jinwoo HongandOrca b42b286879 Fix mobile markdown actions above keyboard (#4945)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 21:27:33 -07:00
Jinwoo HongandOrca 66035716f0 Fix mobile diff syntax highlighting (#4922)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 17:41:27 -07:00
Jinwoo HongandOrca f5efdd5945 Fix remote runtime terminal sharing with mobile (#4901)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 14:26:07 -07:00
Jinwoo HongandOrca 880fd964ac Fix issue workspace names with apostrophes (#4848)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:57:52 -07:00
Jinwoo HongandOrca c23ab4323c Prepare mobile 0.0.12 (#4627)
Co-authored-by: Orca <help@stably.ai>
2026-06-04 01:06:45 -07:00
gsxdsm a19e16f718 fix: Android terminal text overflow and stale viewport after unfold
Fix Android terminal text overflow and stale foldable viewport handling.

- Pin terminal WebView textZoom so Android system font scale cannot inflate xterm glyphs past measured cells.
- Refit mobile terminal viewport on window dimension changes for fold/unfold, rotation, and split-screen.
- Harden viewport refit fallback handling for stale async runs and updateViewport responses.

Fixes #4579
2026-06-04 02:38:57 -04:00
Neil 6dc779c4f4 Address react doctor warnings 2026-06-03 12:48:00 -07:00
Jinwoo HongandOrca aa8451b3e9 Fix mobile Linear issue list parsing (#4576)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 11:06:43 -07:00
Jinwoo HongandOrca 8959535f1b Auto-dismiss agent notifications on acknowledgement (#4518)
Co-authored-by: Orca <help@stably.ai>
2026-06-02 18:01:23 -07:00
Jinwoo HongandOrca 5ab1fe09b9 Fix mobile Tailnet pairing (#4415)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 17:30:10 -07:00
Neil 41bf76aef2 chore: gate high-signal react doctor rules
Adds a focused React Doctor oxlint gate for high-signal state/effect rules, disables the noisy js-combine-iterations React Doctor rule, and refactors the mobile new-worktree modal away from prop-change state reset effects.
2026-05-31 22:35:15 -07:00
Neil 0bb62b9d29 Add braces to mobile control flow (#4351) 2026-05-31 21:32:37 -07:00
Jinwoo HongandOrca b555e66598 Keep migrated mobile shortcut order canonical (#4349)
Co-authored-by: Orca <help@stably.ai>
2026-05-31 20:48:34 -07:00
Jinwoo HongandOrca a34a6bec7e Add mobile terminal Space shortcut (#4335)
Co-authored-by: Orca <help@stably.ai>
2026-05-31 20:35:31 -07:00
Neil 12d75587a5 fix: ignore stale mobile socket events 2026-05-31 09:43:36 -07:00
Neil 8db35593b5 fix: handle malformed mobile diagnostic endpoints 2026-05-31 09:24:07 -07:00
Neil 853fa454ef fix: honor mobile rpc timeout while reconnecting 2026-05-31 09:15:46 -07:00
Neil 81f4559049 perf: bound mobile terminal WebView queues
Bounds the mobile terminal WebView pre-ready write backlog, avoids Array.shift() in the embedded xterm write drain, disposes old xterm observers, and clears successful fallback timers.
2026-05-31 04:23:39 -07:00
Neil 49153d933f perf: cap mobile dictation audio backlog (#4078) 2026-05-31 03:33:00 -07:00
Neil 7fa23737ad perf: stream mobile PR diff previews (#4071)
Stream capped mobile PR file diff previews while preserving exact total row counts.
2026-05-31 03:21:57 -07:00
Neil 255bb24c37 perf: cap mobile diff preview rows (#4067) 2026-05-31 03:14:29 -07:00
Neil 8acb47cede Derive mobile session create warning before paint 2026-05-31 03:11:53 -07:00
Neil 5c37ddfca8 perf: clean mobile diagnostic fetch timeout (#4063) 2026-05-31 03:02:14 -07:00
Neil 2067bebf50 perf: clean up mobile pairing attempts (#4058) 2026-05-31 02:58:24 -07:00
Neil 8757e6c724 perf: avoid duplicate mobile terminal setting updates (#4056) 2026-05-31 02:52:41 -07:00
Neil 361240a757 perf: defer hidden picker option rows
Moves PickerModal row rendering into a child component so hidden BottomDrawer pickers avoid mapping option rows on parent renders.
2026-05-31 02:41:55 -07:00
Neil fcd267a309 perf: clean mobile live input focus timer (#4050) 2026-05-31 02:36:49 -07:00
Neil 549ab29489 perf: clean mobile task copy feedback timers (#4047) 2026-05-31 02:27:58 -07:00
Neil 35e1c221a9 perf: reject mobile rpc waiters after retry cap (#4041) 2026-05-31 02:12:53 -07:00
aa5d911c36 fix: address pr-bug-scan validated finding from #3583 (#3856)
Removed duplicate 'openclaude' entry at index 3 of MOBILE_TUI_AGENT_AUTO_PICK_ORDER so mobile pickers no longer render two OpenClaude rows or emit duplicate-key warnings.

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:49:27 -07:00
Neil be2dfe4bac fix: drop mobile notification stream on cleanup (#2887) 2026-05-30 20:17:45 -07:00
NeilandJinwoo-H 68ad291d3d Resolve bottom drawer mount before commit (#3226)
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
2026-05-30 19:26:00 -07:00
Neil 3dbc38f4f3 Resolve mobile browser address sync before commit (#3228) 2026-05-30 19:25:34 -07:00
2c55de5589 Move mobile dictation ref mirrors out of effect (#3234)
* Move mobile dictation refs out of effect

* Guard mobile dictation option refs

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 19:19:17 -07:00
Neil 7366c3d32e Resolve mobile new-worktree agent before commit (#3238) 2026-05-30 19:19:00 -07:00
f2fa3ee904 Resolve mobile pair-confirm route state before commit (#3240)
* Resolve pair confirm route state before commit

* Preserve pair confirm back handling

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 19:18:32 -07:00
Neil c082f21d2e Resolve host new-worktree route action before commit (#3242) 2026-05-30 19:15:42 -07:00
Neil 8d8dc9ae05 Resolve mobile task agent selection before commit (#3261) 2026-05-30 18:58:55 -07:00
7f770ae559 Add mobile review note actions (#3518)
* Add mobile review note actions

* fix: align mobile diff note gutter lines

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-30 13:43:33 -07:00
Neil 7b1ff0d055 Move mobile connection log scroll into content handler (#3402) 2026-05-30 14:48:50 -04:00
Neil fb462e1f77 Add mobile committed branch changes (#3498) 2026-05-30 14:33:30 -04:00
Neil 554388b28d fix: cancel mobile browser long press from root ref 2026-05-30 14:32:56 -04:00
Neil c99eb29bb0 chore: remove unused code 2026-05-30 11:05:58 -07:00
Neil fc1ad4906a fix: handle large mobile host name lists (#3721) 2026-05-30 07:43:24 -07:00
Neil c9f0fa92be fix: include OpenClaude in mobile agent catalog (#3722) 2026-05-30 07:39:55 -07:00
Jinwoo HongandOrca fc10bc4cc0 Fix mobile terminal tap mouse reports
Co-authored-by: Orca <help@stably.ai>
2026-05-29 22:44:57 -04:00
f2f6493316 Move mobile browser ref mirrors out of effects (#3230)
* Move mobile browser refs out of effects

* Use layout effect for mobile browser ref mirrors

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-29 22:27:24 -04:00