DefaultConvoKitUiClient class final
Default UI client backed directly by the installed ConvoKit Flutter SDK.
- Implemented types
Constructors
- DefaultConvoKitUiClient()
-
Creates the default stateless SDK adapter.
const
Properties
-
connectionEvents
→ Stream<
RealtimeConnectionEvent> -
Join/rejoin signals for logical
messages:<room>andconversation:<room>topics. Close this stream when the owning session ends.no setteroverride - currentUserId → String
-
Application-level ID of the connected user.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
-
inboxActivity
→ Stream<
void> -
Empty activity signals after a message insert or edit, a read-position
advance, or a change to the connected user's own "mark unread" marker
(a mark, a clear, or an acknowledgement that clears it), anywhere in the
app. Unlike inboxChanges this stream is never synthesised on joins;
list controllers throttle it and refetch previews, unread counts and
markers through listInbox. Room controllers ignore it.
no setteroverride
-
inboxChanges
→ Stream<
void> -
Empty inbox invalidations on mutations and every verified initial/rejoin.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sessionIdentity → Object?
-
Stable identity of this connected session, not just a user ID. Change it
on logout/reconnectUser (including the same user); null means disconnected.
no setteroverride
Methods
-
addReaction(
String messageId, String emoji) → Future< ReactionMutationResult> -
Idempotently adds the caller's exact
emojitomessageId.override -
clearConversationUnread(
String conversationId, {int? ifVersion}) → Future< ClearUnreadResult> -
Clears the connected user's own "mark unread" marker on
conversationIdwithout acknowledging any message (DELETE /conversations/:id/unread).override -
deleteMessage(
String messageId) → Future< void> -
Deletes the connected user's own message
messageId(DELETE /api/v1/messages/:id/own).override -
editMessage(
String messageId, {required String? text, required int revision}) → Future< Message> -
Edits the text of the connected user's own message
messageId(PATCH /api/v1/messages/:id/own) and returns the updated row.override -
getConversation(
String conversationId) → Future< Conversation> -
Loads one conversation including its participants and persisted reads.
override
-
getConversations(
{required int limit, required int offset, required bool archived}) → Future< List< Conversation> > -
Loads one offset-based page of conversations.
override
-
getMessage(
String id) → Future< Message> -
Loads the complete authorized message, including related media absent
from raw Postgres row events. Enforce the same app/room membership rules.
override
-
getMessageContext(
String conversationId, {String? messageId, String? olderCursor, String? newerCursor, required int limit}) → Future< MessageContextPage> -
Loads one window of messages around
messageId, or the page immediately older or newer than a cursor (GET /api/v1/conversations/:id/context).override -
getMessages(
{required String conversationId, required int limit, required int offset, Message? before}) → Future< List< Message> > -
Loads one newest-first page of messages.
With
before, return rows strictly older by (createdAt, id), descending; use the cursor's values even when that row has since been deleted. Cursor requests always have offset zero.override -
getReactionSummaries(
String conversationId, List< String> messageIds) → Future<List< MessageReactionSummary> > -
Batches bounded summaries for currently visible
messageIds.override -
getReplyPreviews(
String conversationId, {required List< String> messageIds}) → Future<List< ReplyPreview> > -
Resolves the quoted messages
messageIdsofconversationIdinto bounded previews (GET /api/v1/conversations/:id/reply-previews?ids=).override -
listInbox(
{required int limit, String? cursor, required bool archived}) → Future< InboxPage> -
Loads one cursor page of the connected user's inbox: conversations with
their latest-message preview, unread count and the caller's read state,
ordered by activity time then conversation id, both descending.
override
-
listReactionUsers(
String messageId, String emoji, {int limit = 30, String? cursor}) → Future< ReactionUsersPage> -
Paginates users for one exact
emojionmessageId.override -
markConversationRead(
String conversationId, {String? throughMessageId, int? privateStateVersion}) → Future< void> -
Acknowledges the connected user's read position through one message.
override
-
markConversationUnread(
String conversationId) → Future< ConversationPrivateState> -
Marks
conversationIdunread for the connected user only (POST /conversations/:id/unread).override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onMessage(
String conversationId) → Stream< MessageEvent> -
Emits inserted and updated messages for a conversation.
override
-
onMessageDeleted(
String conversationId) → Stream< MessageDeletedEvent> -
Emits authorized ID-only deletions. Never fabricate a full old Message.
override
-
onReactionChanged(
String conversationId) → Stream< ReactionChangedEvent> -
Private, ID-only room invalidations after effective changes.
override
-
onReadReceipt(
String conversationId) → Stream< ReadEvent> -
Emits read-position changes for a conversation.
override
-
onTyping(
String conversationId) → Stream< TypingEvent> -
Emits typing-state changes for a conversation.
override
-
removeReaction(
String messageId, String emoji) → Future< ReactionMutationResult> -
Idempotently removes the caller's exact
emojifrommessageId.override -
sendMessage(
{required String conversationId, String? clientMessageId, String? text, List< Map< ? media, String? replyToMessageId}) → Future<String, dynamic> >Message> -
Sends one text and/or structured-media message.
override
-
sendTyping(
{required String conversationId, required bool isTyping}) → Future< void> -
Broadcasts a typing-state update.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited