Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The mobile draft flow now checks its current draft binding before creating another draft, preserving the user's chosen project. The change is narrowly scoped and retains the existing activation and route guards. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Note 🤖 GPT-6.1 Sol responding on behalf of saphid Independent validation confirms the draft-binding race fixed by this PR. On main at 4cb6945, applying only this PR's regression test fails: the displayed project is On the exact PR head e587c13, I also ran both focused suites (13/13 pass) and Native proof remains incomplete. GPT-6 Astra tested an iPhone 17 Pro simulator on iOS 27.2 against disposable local projects, with only the provider source reverted to the PR base. New chat → choose a nonfallback project → type → Back → Unsent → reopen retained both project and prompt; the failure did not reproduce in that sequence. An AgentDevice alert-state probe then repeatedly returned |
e587c13 to
2734960
Compare
|
Note 🤖 GPT-6.1 Sol responding on behalf of saphid The Build and Typecheck failure on 2734960 is also present on its base beaeeff. Both the PR job and base job fail with the same TS2345 at This PR changes only mobile draft initialization and its existing test file. The shared ACP failure is outside that diff. CodeRabbit's latest update skipped the rebase review and reports no new actionable findings. Earlier native-verification limits remain unchanged. |
2734960 to
40d52e4
Compare
EvidenceNative iOS proof: iPhone 18 Pro, iOS 27.2, 402×874, light theme; separate fresh server databases with identical synthetic projects. Establish Chosen project as the remembered project, then tap New chat to mount a fresh composer directly in Chosen project. Enter
Base initially displayed Chosen project but reopened under Fallback project. Head retained Chosen project. Both retained Seed script · Reproduction and automation notes AI-assisted; verified with the tests and tools listed above. Not shown:
|


New mobile drafts can display the chosen project but be saved under
No project. After Back and reopening, the text survives but the project selection is lost. Selecting the project again works.Fixes #30095.
The child screen's mount effect creates the chosen project's draft before the parent's creation effect runs. Check the live flow binding in that parent effect so its stale render cannot replace the draft with one stamped to the fallback project. A focused regression exercises mount-time selection, saving, and reopening with the same project and prompt.
This qualifies as a small, focused obvious-bug fix under CONTRIBUTING.md: it preserves the selection already shown in the composer, without changing picker defaults or navigation. Only mobile draft initialization and its existing provider test file change; web, desktop, provider adapters, and wire contracts are unaffected.
Proof: observed the regression fail on unmodified source (displayed
two/b, savedone/a), then pass with the fix; provider + flow-state tests pass 13/13.vp run check:changedpasses format, lint, both knip stages, affected typechecks, adjacent tests, and React Compiler checks.Native verification limitation:
test-t3-mobilewas attempted, but Agent device access is disabled in this environment. No native before/after screenshots or recording are available, and no device-level verification is claimed. The linked issue describes the reporter's recording and the source-level reproduction.Reviewed with review-loop: 1 round with GPT-6.1 Sol on xhigh. Reviewer verdict: approved.
Created with GPT-6.1 Sol in Codex through T3 Code.