New-task drafts were keyed `new-task:<environmentId>:<projectId>`, one slot per project, so starting a new task in a project always landed in whatever draft already sat there and there was no way to hold two ideas for the same repo. Web mints a draft id per draft and never had this limit; with drafts now listed in the mobile thread list the single slot became visible. Drafts are keyed `new-task:<draftId>` and carry their project in a `project` stamp (environment, project, createdAt). Legacy project-keyed entries are rewritten on load, so nothing on users' devices is lost. Each New Task entry mints a fresh draft; tapping a Draft row resumes that draft by id via a new `draftId` route param. Switching projects mid-compose retargets the same draft (text and mode choices follow, branch/worktree are cleared) instead of copy-if-empty across keys. A rejected pending task restores into its own message-keyed draft rather than merging into whatever the user is typing. Drafts list newest first by their own createdAt instead of a render-time stamp. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Julius Marminge committed on 9/6/2026, 7:12:00 PMparent0286e75
12 files changedLine totals unavailable