Skip to content

feat: make hosted ShotSync a compact sync gallery - #10

Merged
Defiabell merged 1 commit into
mainfrom
feat/hosted-sync-gallery
Sep 20, 2026
Merged

Defiabell merged 1 commit into
mainfrom
feat/hosted-sync-gallery

Conversation

@Defiabell

Copy link
Copy Markdown
Owner

The hosted homepage currently puts quota information, upload forms and device configuration ahead of everyday transfers. Replace that dashboard with the compact gallery used by the self-hosted experience: a toolbar for text/images, refresh and settings, followed immediately by content tiles.

Image selection, drag/drop and paste upload directly; text uses a composer; opening a tile exposes copy/download/share/delete. Account, retention, quotas and device tokens move into settings. Visible pages sync every 25 seconds, pause in the background and stop after repeated failures. Lazy previews share a two-request queue and retain cached content across list refreshes.

Keep existing Supabase memory-JWT/refresh, recovery codes and API protocols. Guard session changes and dialog lifetimes so late requests cannot upload across accounts, erase a new draft or expose a dismissed device token. No backend/schema changes or new dependencies.

Validation: TypeScript, targeted UI tests, independent code review and real-browser Worker/D1/R2 integration. Browser coverage includes image selection/paste, text, cached previews, cross-device refresh, viewer copy/download/share/delete, settings/device tokens, mobile/desktop overflow, account recovery, 90-day/permanent retention and late-response regressions. Only external provider/Turnstile boundaries are mocked.

@Defiabell
Defiabell merged commit ea59fc6 into main Sep 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant