Commit Graph
7 Commits
Author SHA1 Message Date
OrcaWinandOrcaWin d34c829237 test: retire low-value draft, crypto, and lifecycle coverage (#41614)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-12 10:02:35 -08:00
Kelvin Amoaba 7f63600a23 feat(mobile): keep commit, PR and review drafts across app kills (#40114)
* feat(mobile): keep commit, PR and review drafts across kills

* refactor(mobile): build commit, PR and review drafts on the shared draft fields, and clear only the text that was sent

* fix(mobile): keep a toggle made during Write with AI, the edit note while its sheet closes, and a newer PR edit after an earlier save

* test(mobile): wait for the saved review note row instead of sleeping

* perf(mobile): keep a hash of the PR text an edit was typed against, not a second copy
2026-11-09 14:02:12 +00:00
Kelvin Amoaba e22bb7c46c feat(mobile): keep Tasks and new-workspace drafts across kills (#40127)
* feat(mobile): keep Tasks and new-workspace drafts across kills

Task comments (per item and project row), the New issue title and body,
and the New workspace note now live in device-store draft rows. They come
back after the form closes or the app is killed, and only into an empty
field. A comment's setter stays bound to its item, so a send that settles
after the user moved on clears the right row.

* fix(mobile): rebuild comment sends when the draft's item changes

* fix(mobile): key the workspace note by host and keep cleared fields cleared

* fix(mobile): clear only the note a finished create sent

* fix(mobile): count clearing an empty draft field as the user's choice

* perf(mobile): cap field drafts, read sheet drafts on open, retry a failed read once

* fix(mobile): retry a failed draft read after a pause and keep New issue text typed during a create

* fix(mobile): save draft text again once a failed store read can be retried

* fix(mobile): remove a stored draft when an unread field is cleared
2026-11-09 13:51:32 +00:00
Neil 19043a3d76 refactor(mobile): organize pairing, session, RPC and host owners (#39846)
* refactor(mobile): give relay and encryption concrete owners

* refactor(mobile): organize session and review feature owners

* refactor(mobile): organize RPC and host ownership

* test(mobile): point render fixtures at concrete owners

* refactor(mobile): use explicit type-only owner imports
2026-11-08 07:19:05 -08:00
Kelvin Amoaba b40e868132 feat(mobile): offer to restore unsaved file and Markdown edits after the app is killed (#39710)
* feat(mobile): offer to restore unsaved file and markdown edits

* fix(mobile): keep offered edits through other discards and clear saved Markdown drafts

* fix(mobile): offer a copy of edits to a now read-only document and key drafts by host

* refactor(mobile): one guard for the draft save effect

* fix(mobile): clear an offer once its edits are saved by hand
2026-11-08 06:53:26 +00:00
Kelvin Amoaba 29781fc694 feat(mobile): keep automation drafts across kills (#39683)
* feat(mobile): keep automation drafts across kills

* fix(mobile): drop a created automation's draft on affirm and restore saved fields under typed ones

* fix(mobile): stop saving an automation draft after it is dropped

* fix(mobile): reopen the automation editor with in-memory edits while the store can't be read

* refactor(mobile): one rule for which automation draft fields changed
2026-11-08 06:45:30 +00:00
Kelvin Amoaba 138c9e3460 feat(mobile): keep chat drafts, attachments and unsent messages across app kills (#39342)
* feat(mobile): keep chat drafts and unsent text in the device store

* test(mobile): give the send tests a real draft destination

* fix(mobile): confirm reopened sends past the loaded window and save the journal id with the clear

* fix(mobile): let an open chat claim a released send, and warn on a reopened command

* refactor(mobile): share the pausable unconfirmed-send deadline between chat holds

* fix(mobile): hold every lost structured send and replace a re-held deadline; use the shared store value codec

* fix(mobile): save chip-only drafts, save only a send's own chips, and keep hold time across outages

* fix(mobile): hash a draft key the device store would refuse as too long

* fix(mobile): drop a sent message's chips in the write that settles it

* fix(mobile): return a structured host command whose reply was lost to the box
2026-11-07 23:32:44 +00:00