convokit_flutter_ui 0.4.1
convokit_flutter_ui: ^0.4.1 copied to clipboard
Extensible, plug-and-play Flutter UI components for ConvoKit conversations and messaging.
Changelog #
0.4.1 #
- Announce the outgoing status icon as
Sent(single check) orRead(double check) to assistive technology. ConvoKit does not report recipient delivery; visible layout, pending rows and read indicators are unchanged.
0.4.0 #
- Refresh SDK-backed inboxes automatically on private app invalidations and verified joins; preserve filters, loaded pages and visible rows while fetching.
- Reconcile open rooms after membership, metadata and cascade changes; discard old-session responses and clear caches on authoritative access denial.
- Replace optimistic bubbles atomically using
clientMessageIdfrom live, history or HTTP confirmation. Never match by text or media similarity. - Preserve media-only previews, newer edits and deletions when HTTP finishes late; a lost acknowledgement cannot turn a confirmed send into a failed draft.
- Breaking custom-client additions:
inboxChanges, forwarding the optional sendclientMessageId, and preserving that field on returned messages. Requires core 0.4.0 and the coordinated backend release.
0.3.0 #
-
Renew typing during continued input without broadcasting every keystroke; stop on idle and ignore failures from superseded or disconnected requests.
-
Fetch complete related media after raw row events, retain images/files during edits, and discard stale, deleted or retired-session hydration results.
-
Bound and coalesce lookups across reloads; reconcile all viewed live messages and retain snapshot-discovered deletion markers against delayed send ACKs.
-
Reconcile pending sends only by the acknowledged ID, never matching content. Release send state without waiting for the typing-stop request.
-
Require
getMessage(id)on custom adapters and the coordinated core SDK'sMessage.updatedAtfield. Add real SDK/provider and decoded-image widget tests. -
Consume authorized ID-only private deletion events and remove affected rows. Retain deletion markers across reconciliation so delayed HTTP responses and older Realtime rows cannot resurrect messages; cancel listeners on session end.
-
Preserve a live edit that arrives before the original send acknowledgement.
-
Reconcile missed messages, loaded edits/deletions and persisted receipts on private room rejoin without clearing pending sends or the loaded view.
-
Page history by a timestamp/ID cursor; preserve live changes arriving during REST reads and prevent older receipts from rewinding the displayed read state.
-
Bind conversation and inbox controllers to a session identity, discard late work after user/session replacement, and evict room caches on access denial.
-
Expire remote typing indicators and clear them on interruption.
-
Breaking custom-client contract: implement
sessionIdentity,connectionEvents,onMessageDeleted, and thegetMessages(before:)value cursor. ReplaceMessageChangeType.deletewithMessageDeletedEventon the separate deletion stream. The default adapter requires the core 0.3.x connection/cursor/deletion APIs. Do not publish this source with the existing package versions/dependency floor; coordinate new SDK/UI versions and backend deployment first.
0.2.2 #
- Show
Sending…for optimistic messages instead of a device-clock timestamp that can jump after acknowledgement. - Keep pending messages after canonical history and exclude them from read receipts.
- Continue displaying acknowledged server timestamps in the viewer's local timezone.
0.2.1 #
- Show outgoing messages immediately while the request completes, then reconcile the server response and realtime echo without duplicates.
- Clear the composer immediately and restore its draft after a failed send when the user has not typed a replacement.
0.2.0 #
- Require ConvoKit Flutter SDK 0.2.x for private Realtime channels and publishable-key discovery.
- Preserve the existing Flutter component and configuration API.
0.1.4 #
- Document the managed ConvoKit API endpoint used by the core SDK.
- Remove endpoint configuration from the standard setup example.
- Support inserted, updated, and deleted message events from core SDK 0.0.4.
0.1.3 #
- Point the public package metadata to the accessible examples repository.
0.1.2 #
- Point the component gallery to the public examples-only repository.
- Add trusted GitHub Actions publishing for semantic-version tags.
0.1.1 #
- Add real screenshots rendered from the public component showcase.
- Document standard, branded support, and compact UI configurations.
- Add public repository and issue tracker metadata.
0.1.0 #
- Add SDK-backed and controlled conversation list components.
- Add filterable offset pagination and automatic infinite scrolling.
- Add SDK-backed conversation history, sending, realtime typing, and receipts.
- Add extensible message, media, header, composer, state, and theme builders.