Skip to main content

flutter_message_composer 0.5.0 copy "flutter_message_composer: ^0.5.0" to clipboard
flutter_message_composer: ^0.5.0 copied to clipboard

An adaptive Flutter message composer with multiline text, attachments, audio previews, and hold-to-record gestures with slide-to-cancel and locking.

0.5.0 #

  • Show the emoji action by default; visibility and enabled state remain configurable.
  • Open the native iOS Emoji keyboard without requiring an app-owned picker.
  • Include Google's native AndroidX Emoji Picker on Android; no custom app selector or keyboard-vendor integration is required.
  • Retain the macOS system character palette and optional onEmojiPressed override.
  • Preserve the draft, cursor and selected text, and delete whole emoji sequences.
  • Scope native input to its composer and release it when the field, route or recording workflow changes; ignore callbacks from closed sessions.
  • Support Swift Package Manager and CocoaPods on iOS. The Emoji keyboard must be enabled in iOS settings. Existing audio dependency platform requirements remain unchanged.

0.4.0 #

  • Add MessageComposerController to trigger recording, audio preview, sending, attachment menus, focus, and emoji actions from external controls.
  • Expose observable action availability and recording state through MessageComposerValue; retain permission and busy-state checks for all commands.
  • Add an optional emoji action before the microphone with independent visibility, enabled state, icon, tooltip, picker callback, and error callback.
  • Open the native macOS emoji/character palette without replacing the text field. Other platforms can connect a host-owned picker through onEmojiPressed.
  • Support Swift Package Manager and CocoaPods for the native macOS action.
  • Preserve action sizes and spacing on narrow composers by moving controls below the text when the compact row has insufficient space.
  • Allow external cancellation while microphone startup is pending.
  • Update recorder, icon, and permission dependencies and raise the Dart requirement to 3.13.4 and the Flutter requirement to 3.44.0.

0.3.2 #

  • Preserve text focus and the keyboard when sending from controls or the IME.
  • Keep the next draft editable while sending blocks duplicate submissions, attachment actions and recording; explicit enabled: false still disables input.

0.3.1 #

  • Reduce the default attachment-menu padding and make it configurable through MessageComposer.menuPadding.

0.3.0 #

  • Replace record with flutter_recorder for the default audio recorder.
  • Record 16-bit mono WAV by default for reliable local playback on iOS and Android.
  • Align the default recorder sample rate with flutter_recorder and use the generic iOS input preset for voice-note capture.
  • Force the preview player back into a playback audio session after recording.
  • Add opt-in silence-aware recording with automatic pause/resume while silence is detected.
  • Discard invalid WAV files before preview or submission.
  • Add MessageComposerAudioRecorderConfig for capture format, sample rate, channels, file format, platform input presets, and silence thresholds.
  • Add onBeforeStartRecording and typed recording lifecycle events so host apps can delay capture startup and react to cancellation or failure states.
  • Release the native recorder when capture stops or is canceled so consecutive voice notes start from a fresh capture session.

0.2.2 #

  • Confirm the start of held recording with light-impact feedback after the microphone is ready, without premature feedback on permission or startup failures or recordings already queued to send or cancel.
  • Enable haptics during recording in the default iOS audio session so the slide-to-lock gesture can provide light-impact feedback without stopping capture.
  • Preserve explicit recorder configurations and document the iOS setting's effect on system sounds.

0.2.1 #

  • Use light-impact haptic feedback when slide-to-cancel or slide-to-lock reaches its gesture threshold.
  • Refine package documentation for installation, customization, resource ownership, and localization.

0.2.0 #

  • Replace the disabled recording-stop button with play/pause preview controls.
  • Add local audio playback, pause/resume, repeat playback, and waveform progress.
  • Display tabular recording time, playback position, and total duration as MM:SS before the waveform.
  • Add slide-to-cancel and upward slide-to-lock recording gestures, including RTL support, configurable distances, haptics, and a lock indicator.
  • Preserve the release/cancel/lock intent during microphone startup and avoid sending a recording when another pointer is released.
  • Add an injectable, lazily created preview player and localizable control labels, preview icons, timer styling, and playback error callbacks.
  • Stop previews before sending or discarding audio and clean up unsent files.
  • Expand audio workflow documentation and examples without changing existing recorder, submission, or text-controller contracts.

0.1.1 #

  • Refresh the public installation documentation for pub.dev.

0.1.0 #

  • Add adaptive multiline message composition.
  • Add configurable attachment and prompt actions.
  • Add tap-to-record and hold-to-record audio workflows.
  • Add typed text, attachment, and audio submission payloads.
  • Add theming, localization, and accessibility customization hooks.
  • Add a customizable suggestion area above the composer field.
  • Accept specialized text controllers without depending on token detection.
  • Add an injectable recorder contract for alternate capture backends.
  • Keep multiline transitions stable for trailing spaces and scaled text.
1
likes
0
points
669
downloads

Publisher

unverified uploader

Weekly Downloads

An adaptive Flutter message composer with multiline text, attachments, audio previews, and hold-to-record gestures with slide-to-cancel and locking.

Homepage

Topics

#chat #messaging #composer #audio-recording #user-interface

License

unknown (license)

Dependencies

audioplayers, flutter, flutter_recorder, hugeicons, path_provider, permission_handler

More

Packages that depend on flutter_message_composer

Packages that implement flutter_message_composer