Skip to content

Add GIF picker and drag-drop attachments#1

Open
tpmeredith wants to merge 3 commits into
local/gif-drop-basefrom
codex/gif-picker-drag-drop
Open

Add GIF picker and drag-drop attachments#1
tpmeredith wants to merge 3 commits into
local/gif-drop-basefrom
codex/gif-picker-drag-drop

Conversation

@tpmeredith

Copy link
Copy Markdown
Owner

Summary

  • Adds a compose GIF picker powered by the Klipy API pattern from the local Commet/Huddle app, with backend-proxied previews so the browser does not load third-party GIF media directly.
  • Adds server-side GIF download/send via the existing media send path for Google Messages, WhatsApp, and Signal.
  • Adds drag-and-drop file support on the compose box, reusing the existing attachment preview/send flow.

Review Notes

  • This PR targets the personal fork only. It is stacked on local/gif-drop-base, which mirrors the current local integrated main, so the diff stays focused to GIF/drop work.
  • The Klipy API key is kept backend-side with an env override (KLIPY_API_KEY) and a fallback from the local Commet/Huddle implementation. If this ever goes upstream, it should likely become env-only or maintainer-configured.

Validation

  • git diff --check main...HEAD
  • go test ./internal/web -run 'TestGIF|TestSendGIF|TestDownloadGIFMediaRejectsNonKlipyURL|TestSendMediaUsesSignalSender|TestSendMediaUsesWhatsAppSender|TestSendMediaEndpointNoClient'\n- npm run test:e2e -- --grep 'sends a GIF through the compose picker|accepts dropped files in the compose box'\n- go test ./...\n\nLocal review artifact: .codex/reviews/20260618T044217Z-codex-gif-picker-drag-drop-a1177da.md

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