Continue unfiled issue drafts across signed-in devices #851

Closed
opened 2026-08-14 21:20:36 +00:00 by timmy · 0 comments
Owner

User problem

A mobile capture saved before repository selection exists only in that browser: metadata is in localStorage and screenshot blobs are in local IndexedDB. A user cannot capture evidence on a phone and continue filing from a desktop, and browser-data loss destroys the draft.

Evidence

  • frontend/unfiled-captures.js stores metadata under stackchain.unfiled-issues.v1.
  • frontend/dashboard.js reconstructs Drafts only from that local store.
  • Existing account-scoped revision/conflict sync in src/saved_search_store.py provides a proven server pattern.
  • All historical issue titles and recent commit subjects were checked; #232 synchronizes delivery outbox items, #621 hands a capture to same-device Drafts, and #821 synchronizes saved searches. None synchronizes repository-less captures and evidence across devices.

Acceptance

  • Saving remains local-first and usable offline.
  • Once online under the confirmed account, draft metadata and ordered image evidence synchronize to a bounded account-scoped server collection.
  • Another signed-in device can load and continue the draft with evidence order, names, MIME types, notes, and blockers intact.
  • Revision conflicts are explicit; a stale device cannot silently overwrite remote work.
  • Discarding or admitting the draft to the issue outbox removes the synchronized source without blocking local operation on transient sync failure.
  • A different account cannot read or mutate the collection; requests and stored content remain bounded.
## User problem A mobile capture saved before repository selection exists only in that browser: metadata is in localStorage and screenshot blobs are in local IndexedDB. A user cannot capture evidence on a phone and continue filing from a desktop, and browser-data loss destroys the draft. ## Evidence - frontend/unfiled-captures.js stores metadata under stackchain.unfiled-issues.v1. - frontend/dashboard.js reconstructs Drafts only from that local store. - Existing account-scoped revision/conflict sync in src/saved_search_store.py provides a proven server pattern. - All historical issue titles and recent commit subjects were checked; #232 synchronizes delivery outbox items, #621 hands a capture to same-device Drafts, and #821 synchronizes saved searches. None synchronizes repository-less captures and evidence across devices. ## Acceptance - Saving remains local-first and usable offline. - Once online under the confirmed account, draft metadata and ordered image evidence synchronize to a bounded account-scoped server collection. - Another signed-in device can load and continue the draft with evidence order, names, MIME types, notes, and blockers intact. - Revision conflicts are explicit; a stale device cannot silently overwrite remote work. - Discarding or admitting the draft to the issue outbox removes the synchronized source without blocking local operation on transient sync failure. - A different account cannot read or mutate the collection; requests and stored content remain bounded.
timmy self-assigned this 2026-08-14 21:20:36 +00:00
timmy closed this issue 2026-08-14 21:42:30 +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#851
No description provided.