fix(ios): show new opencode sessions immediately - #177
Conversation
0xSero
left a comment
There was a problem hiding this comment.
This remains important, but it needs a current-main rebase before merge. Main already contains the immediate openConversation(resolvedKey) navigation behavior, which is the only conflict; please drop that duplicate hunk while retaining the no-model runtime-selection and first-snapshot runtime fixes.
Please also add Android parity. AppLaunchState.updateSelectedModel and launchConfig currently clear selectedAgentRuntimeKind when the model is empty, reproducing the same runtime-only fallback on Android.
After rebasing, add focused Android coverage and rerun the Rust test once the repository-wide codex-slingshot/JsonRpcWire incompatibility is repaired. A live iOS opencode thread should be created and shown/opened immediately without restart before acceptance.
|
I preserved the still-relevant runtime-selection work in current-main replacement PR #211, added Android parity and focused iOS/Android/Rust coverage, and omitted the navigation hunk already present on main. Closing this conflicted branch as superseded by #211. Thank you for identifying the runtime-only fallback and first-snapshot ordering problem. |
Fixes #176.
Summary
thread/startreconciles the thread into the Rust store, matching the existing Sessions screen behavior and avoiding theensureThreadLoadedretry path.thread/startsnapshot before projecting session summaries, with focused coverage for opencode and the default Codex path.Why
The reported iOS flow shows the host creating a thread and returning from
thread/start, but the app does not surface the new session. The client already has enough local state afterthread/start; waiting forthread/read/thread/listcan leave the UI stuck, and dropping an opencode runtime selection makes the first projected session look like the default Codex runtime.Validation
rustfmt --edition 2024 shared/rust-bridge/codex-mobile-client/src/store/reconcile.rs shared/rust-bridge/codex-mobile-client/src/ffi/client.rsgit diff --checkcargo test --manifest-path shared/rust-bridge/codex-mobile-client/Cargo.toml apply_thread_start_response_for_runtime_projects_session_summary --lib; blocked by the existingcodex-slingshotcompile error:no JsonRpcWire in the rootfromcodex_app_server_client.