Commit Graph

8 Commits

Author SHA1 Message Date
Samuel Newman 290ac55d8e restore postgates 2026-01-28 19:15:43 +02:00
Samuel Newman c00d92ede8 save/restore captions 2026-01-28 19:15:43 +02:00
Samuel Newman e9ff3ae941 restore videos 2026-01-28 19:15:43 +02:00
Samuel Newman 0cdc120ae6 clean up orphaned media 2026-01-28 19:15:43 +02:00
Samuel Newman 9fcaa8ff39 refactor: pass full draft data instead of re-fetching
The useLoadDraft and useDeleteDraftMutation hooks were fetching drafts
via getDrafts() to look up a draft by ID. This was problematic because
getDrafts is paginated, so drafts not on the first page wouldn't be
found.

Changes:
- Add full Draft object to DraftSummary type
- useLoadDraft now takes Draft directly (only loads local media)
- useDeleteDraftMutation now takes {draftId, draft} to avoid re-fetch
- Update DraftItem and DraftsListDialog to pass full draft data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 19:15:18 +02:00
Samuel Newman 92824b4b3a infinite query, rename file to queries 2026-01-28 19:15:17 +02:00
Samuel Newman e5b700a3d2 fix: prevent double query string in GIF draft hydration
When loading a GIF from a draft, the URL was being corrupted with
double query strings like:
`?ww=498&hh=498?hh=498&ww=498`

This happened because:
1. serializeGif() adds ?ww=X&hh=Y&alt=Z to the Tenor URL
2. parseGifFromUrl() returned the full URL including our params
3. resolveGif() in resolve.ts then appends MORE params via string
   concatenation, creating a second ?

Fix: Strip our custom params (ww, hh, alt) from the URL in
parseGifFromUrl() before returning it, so the reconstructed GIF
has a clean base URL.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 19:15:17 +02:00
Samuel Newman 5a67dc9110 move state to colo with composer 2026-01-28 19:15:17 +02:00