raven_chat library

Livqeno Chat for Flutter: real-time messaging.

final chat = RavenChat(token: token, apiUrl: apiUrl);
await chat.connect('room_123');

chat.messages.listen((message) => print('${message.senderId}: ${message.text}'));
await chat.send('Hello everyone!');

Talks to the same Livqeno Chat service as the web and React Native SDKs, over the same protocol: there is no mobile-specific backend. Durable history, presence, typing, reactions, read receipts and threads all behave identically across platforms.

Independent of raven_rtc: a messaging app never pulls in a WebRTC stack, and a video app never pulls in a message store. Use both together for a call with a chat panel.

Classes

RavenAttachment
File metadata attached to a message. The bytes live in object storage and are reached through a short-lived signed URL, never through this object.
RavenChat
Livqeno Chat for Flutter.
RavenMessage
A message, exactly as the server stored it.
RavenMessagePage
One page of history.
RavenPresence
Someone's presence in a conversation. Ephemeral by design: this is never read from durable storage.
RavenReaction
A reaction, already grouped per emoji.
RavenReactionEvent
A reaction was added or removed.
RavenReadState
A user's read position in a conversation.
RavenTypingEvent
Someone started or stopped typing.

Enums

RavenChatConnectionState
Connection lifecycle, matching @raven/chat's vocabulary exactly.
RavenChatErrorCode
Stable error codes, identical to @raven/chat's on the web.
RavenMessageType
Message kinds Livqeno understands. unknown exists so a newer server sending a type this version predates widens the model instead of throwing on an app the developer didn't change.
RavenPresenceStatus

Exceptions / Errors

RavenChatException
The one error type this package throws.