Skip to content

fix(mobile): stop a slow connection save from sending you back twice - #31692

Merged
nwparker merged 1 commit into
stablyai:mainfrom
nwparker:nwparker/mobile-monkey-host-edit-navigation
Oct 21, 2026
Merged

nwparker merged 1 commit into
stablyai:mainfrom
nwparker:nwparker/mobile-monkey-host-edit-navigation

Conversation

@nwparker

@nwparker nwparker commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

ELI5

Edit a computer's connection details, tap Save, then go Back before saving finishes. When the save finally completes, the app can send you back another screen. This fix still finishes saving, but only closes the edit screen if you are still on it.

What Changed

  • Keep saving the connection details after you leave the edit screen.
  • Stop the completed save from navigating away from whatever screen you opened next.
  • Check the sequence Save, Back, then a delayed save result.

Why

Finishing an earlier save should not move you away from the screen you are using now.

Linked Issue

Maintainer-discovered regression. Bounded GitHub symptom and exact-file searches found no exact duplicate. Related #31659 changes WSS port defaults; this fixes completion navigation after leaving the editor.

Visual Proof

Captured with the visual-proof skill. Before uses base 15246eb4a45; after uses this PR's standalone commit b98e9d546e5. The scenario passed asserted capture runs 3 times per version before representative screenshots were selected. The captures were visually inspected.

Evidence scope: Actual production EditHostScreen on React Native Web, deferred storage and router boundaries. Neighboring Host details screen is explicitly labeled modeled route stack/telemetry, not production UI. Covers explicit Back+unmount; native gestures/transition timing unverified.

01-03-late-save-resolved.png 02-03-late-save-resolved.png
01-03-late-save-resolved.png 02-03-late-save-resolved.png
03-01-save-pending.png 04-01-save-pending.png
03-01-save-pending.png 04-01-save-pending.png

The hook/transport boundary harnesses are labeled in the captures. These are browser evidence where stated; they do not establish native keyboard, gesture, permission dialog, safe-area or real-network behavior. Full code regressions cover additional cases described above.

Testing

  • Regression tests added or updated.
  • Full native device verification for every race.
ORCA_BACKGROUND_LAUNCH=1 pnpm --dir mobile test src/host-edit-save-flow.test.ts

The combined mobile change set passed 410 suites / 3,626 tests, production typecheck, the tests-typecheck ratchet, formatting, the changed-code quality gate, and the mobile-web build/asset verifier on macOS. These aggregate results are not a claim that the entire suite was rerun on this isolated branch. PR CI validates the branch against current main.

Review

Merge risk: Low. Only changes when a completed save is allowed to close the edit screen; the save itself still finishes.

Previously reviewed by a separate agent team; reported issues were fixed and checked again.

Agent skill upstream boundary

  • Not applicable; this change copies no upstream skill-installer implementation.

Notes

Existing RPC methods and wire compatibility are retained. Review considered desktop host changes, remote execution authority, folder workspaces, and native/web consumers. Native simulator follow-up was limited after the three owned simulators became stuck shutting down; no unrelated simulator/process was reset.

Checklist

  • Focused change with a root-cause explanation.
  • Automated regression coverage and independent review.
  • Before/after proof attached with exact evidence scope.
  • Cross-platform and remote compatibility considered.
  • Required PR CI checks have passed.

Saving an endpoint after the user leaves can pop a second screen. Retire navigation ownership while allowing the endpoint save and client refresh to finish.
@nwparker
nwparker marked this pull request as ready for review October 21, 2026 23:34
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 34a2f604-9128-44b1-ae09-d51b609906e7
📥 Commits

Reviewing files that changed from the base of the PR and between 10d4104 and b98e9d5.

📒 Files selected for processing: 3
  • mobile/app/h/[hostId]/edit.tsx
  • mobile/src/host-edit-save-flow.test.ts
  • mobile/tests-typecheck-baseline.txt
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nwparker
nwparker merged commit 41fb3c7 into stablyai:main Oct 21, 2026
43 checks passed
@nwparker nwparker changed the title fix(mobile): retire host edit navigation after leaving the route fix(mobile): stop a slow connection save from sending you back twice Oct 22, 2026
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