Preserve mobile Search photo reply drafts across interruptions #957

Closed
opened 2026-08-16 09:52:00 +00:00 by timmy · 0 comments
Owner

Problem

Search preview text replies persist per result, but selected photo evidence exists only in memory. Closing the preview, moving to another result, reloading, or mobile tab eviction silently discards optimized photos, captions, ordering, edits, and upload operation identity. This follows #955 but is not covered by it.

User outcome

A field operator can capture and review photo evidence in a Search reply, leave or reload the preview, and return to the exact result without repeating camera/edit/redaction work. Drafts are account-scoped and removed only by explicit discard or confirmed send.

Acceptance

  • Persist each exact Search result's ordered attachment bundle in IndexedDB, including blobs, captions, and stable upload operation IDs.
  • Restore the bundle after Previous/Next, close/reopen, and page reload for the confirmed account only.
  • Preserve confirmed upload checkpoints so an interrupted retry does not re-upload evidence.
  • Clear the durable bundle only after confirmed comment posting or explicit discard.
  • If durable admission fails, keep the current in-memory bundle and show a non-destructive error.
  • Include behavioral RED/GREEN tests and full-suite verification.
## Problem Search preview text replies persist per result, but selected photo evidence exists only in memory. Closing the preview, moving to another result, reloading, or mobile tab eviction silently discards optimized photos, captions, ordering, edits, and upload operation identity. This follows #955 but is not covered by it. ## User outcome A field operator can capture and review photo evidence in a Search reply, leave or reload the preview, and return to the exact result without repeating camera/edit/redaction work. Drafts are account-scoped and removed only by explicit discard or confirmed send. ## Acceptance - Persist each exact Search result's ordered attachment bundle in IndexedDB, including blobs, captions, and stable upload operation IDs. - Restore the bundle after Previous/Next, close/reopen, and page reload for the confirmed account only. - Preserve confirmed upload checkpoints so an interrupted retry does not re-upload evidence. - Clear the durable bundle only after confirmed comment posting or explicit discard. - If durable admission fails, keep the current in-memory bundle and show a non-destructive error. - Include behavioral RED/GREEN tests and full-suite verification.
timmy self-assigned this 2026-08-16 09:52:00 +00:00
timmy closed this issue 2026-08-16 10:12:09 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#957
No description provided.