Flutter Offline
Confused about "Flutter Offline"?
Let us know how we can improve our documentation:
To add data persistence you can extend the class ChatPersistenceClient
and pass an instance to the StreamChatClient
.
We provide an official persistent client in the stream_chat_persistence package that works using the library moor (https://moor.simonbinder.eu), an SQLite ORM.
Add this to your package's pubspec.yaml
file, using the latest version
You should then run flutter packages get
The usage is pretty simple.
1. Create a new instance of StreamChatPersistenceClient providing logLevel
and connectionMode
2. Pass the instance to the official StreamChatClient
And you are ready to go...
Note that passing ConnectionMode.background
the database uses a background isolate to unblock the main thread. The StreamChatClient
uses the chatPersistentClient
to synchronize the database with the newest information every time it receives new data about channels/messages/users.
Multi-user
Copied!Confused about "Multi-user"?
Let us know how we can improve our documentation:
The DB file is named after the userId, so if you instantiate a client using a different userId you will use a different database.
Calling client.disconnect(flushOfflineStorage: true)
flushes all current database data.
Updating/deleting/sending a message while offline
Copied!Confused about "Updating/deleting/sending a message while offline"?
Let us know how we can improve our documentation:
The information about the action is saved in offline storage. When the client returns online, everything is retried.