Skip to content

feat: add GIF keyboard support on compose screen#82

Merged
barrydeen merged 1 commit intomainfrom
feat/gif-keyboard-support
Feb 28, 2026
Merged

feat: add GIF keyboard support on compose screen#82
barrydeen merged 1 commit intomainfrom
feat/gif-keyboard-support

Conversation

@barrydeen
Copy link
Copy Markdown
Owner

Summary

  • Replace OutlinedTextField with BasicTextField(TextFieldState) + contentReceiver modifier to accept GIF/image content from the keyboard
  • The old RecordingInputConnection explicitly rejected all commitContent() calls (return false), so IMEs like Gboard wouldn't show the GIF picker
  • The new StatelessInputConnection properly handles content commits and routes them through the contentReceiver modifier into the existing uploadMedia() → Blossom upload → URL insertion pipeline
  • Wrapped in OutlinedTextFieldDefaults.DecorationBox to preserve Material3 outlined styling

Test plan

  • Open compose screen, tap text field, switch to GIF tab in Gboard
  • Select a GIF — verify upload progress appears and URL is inserted
  • Verify the GIF renders in the live preview via RichContent
  • Verify normal text typing, @mention autocomplete, and media picker still work
  • Verify programmatic text updates (select mention, load draft) sync correctly

Replace OutlinedTextField with BasicTextField(TextFieldState) to enable
the Commit Content API. The old RecordingInputConnection rejected all
commitContent calls, preventing IMEs from sending GIFs/images. The new
StatelessInputConnection properly handles content commits and routes
them through the contentReceiver modifier to the existing upload flow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@barrydeen barrydeen merged commit bb279f0 into main Feb 28, 2026
@barrydeen barrydeen deleted the feat/gif-keyboard-support branch March 4, 2026 01:28
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