Repository navigation
feat(mobile): open environment setup after pairing and save edits explicitly - #2839
Conversation
Issue: #2782 Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
|
Caution Review failedThe pull request is closed. Walkthrough
Merge Risk:
|
Refs #2782 | Work claim
Task:
codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491.Why the change
Let people name and distinguish a newly paired environment immediately, then apply appearance edits deliberately with a native Save action.
Special things to note
07c5bf0a816c: 259 mobile test files / 1,950 tests passed; 9 files / 11 tests skipped. Root/mobile typechecks, repository lint, changed-file format, CI-plan validation and bilingual Release Ledger checks passed. Tests cover wrapped navigation, batch completion, Back, deferred appearance writes, failed-save retry and native storage failure preservation.Change outline
The sheet header keeps Back on the left and adds a Save checkmark on the right. iOS uses a native SwiftUI circular
glassProminentbutton with an opaque fallback; Android uses native ComposeFilledIconButton. The existing Expo Router form-sheet presentation is retained.The pairing path resets the owning app stack to Chats plus the source-qualified
host-lookroute in one dispatch, so Back cannot reopen the pairing ceremony. Saving refreshes the existing appearance authority and writes through its update operation. Native file failures now reach the editor instead of being silently swallowed.Expo Web layout preview — 390 × 844, Chinese, default text size
Real Expo Web exports with matching browser conditions. Before: source
6cc30b5ace8e; After: source07c5bf0a816c. A synthetic offline environment was seeded in browser session storage to reach the actual appearance screen. Layout/components were not mocked. This bypasses pairing and does not verify pairing, native storage or native controls. The round Save button shown here is the Web fallback; iOS Liquid Glass and Android M3 rendering still need native QA.Light — Before / After: Close with no save action becomes Back with a primary Save checkmark.
Dark — Before / After: the same header change in dark theme.
Unsaved draft — light / dark: typing Research Lab and choosing Lab + Green updates the sheet preview; Save has not been pressed. These frames do not claim a successful persistence operation.
Capture provenance and limits. Android capture is submitted to the shared Windows queue; iOS needs the Mac lane. Native/Human qualification remains tracked in #2782.
Runnable review: start in All with A paired, pair a fresh QA environment B, verify B is selected and the setup sheet opens. Change all three fields; Back/swipe must leave the allocated defaults intact. Reopen from B's drawer action, edit and Save; verify Chats and Activity update and survive restart. Capture matched light/dark Before/After views, keyboard open, default/large text, and platform Back/accessibility. Repeat single and batch account pairing and inject a controlled storage failure to check retry.
Summary by CodeRabbit
New Features
Bug Fixes