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.
unknownexists 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.