Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cached messages are cleared from channels with unread messages when accessed while offline #2083

Open
1 task done
crxm opened this issue Jan 15, 2025 · 0 comments
Open
1 task done
Labels
bug Something isn't working

Comments

@crxm
Copy link

crxm commented Jan 15, 2025

Which packages are you using?

stream_chat_flutter

On what platforms did you experience the issue?

iOS

What version are you using?

9.1.0

What happened?

In an app with Offline Support enabled, I attempted to read messages from a channel while offline. The channel had 1 new unread message. Upon attempting to load the channel, all messages were cleared from the state and the view failed to render. Channels without unread messages could still be read.

Steps to reproduce

1. Enable offline persistance in an app.
2. View a chat channel while online.
3. Exit the channel view.
4. Recieve a new message in the previously viewed channel while online.
5. Go offline.
6. Attempt to view the chat channel which now contains an unread message.

Supporting info to reproduce

This appears to be caused by the following line in the _queryAtTimestamp method of StreamChannelState:

channel.state!.truncate();

I also believe there may be larger issues with this flow, as 'channel.state!.isUpToDate = false;' being called there prevents the markReadWhenAtTheBottom parameter from functioning as expected due to line 1524 of message_list_view.dart 'if (_upToDate && allowMarkRead && canMarkReadAtBottom) {' being triggered before isUpToDate is ever set back to true.

Relevant log output

Flutter analyze output

Flutter doctor output

Code of Conduct

  • I agree to follow this project's Code of Conduct
@crxm crxm added the bug Something isn't working label Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant