Read state does not sync between the iOS app and Desktop (both directions)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Describe the bug**
Read state does not stay in sync between the iOS app and the Desktop app. Messages read on one device still show as new on the other, and it happens in both directions: channels read on iOS come back as unread on Desktop, and new activity seen on Desktop is sometimes not flagged as new on iOS.
**Steps to reproduce**
1. Sign in with the same identity on the iOS app and on Buzz Desktop.
2. On iOS, open a channel with unread messages and read to the bottom.
3. Switch to Desktop and look at the same channel.
4. The channel is still marked unread there.
5. The reverse also happens: read a channel on Desktop, then open iOS and it is not marked as new even though there is new activity.
**Expected behavior**
Read state is per identity, not per device. What one client marks read should be reflected on the other within a few seconds.
**Version and platform**
- Buzz version: iOS 0.10.0 (App Store); Desktop version unknown
- OS: iOS, macOS
**Logs / additional context**
No error is shown on either client; the unread state is simply different. Closest existing report is #6046, but that describes one specific cause (a future-dated message suppressing unread state inside a single client) rather than the two clients disagreeing.
Contributor guide
Research direction
Start by reproducing the two client handoffs described in the issue, then trace how each client records and receives read-state changes. No files or tests are named, so identify the iOS and Desktop sync entry points before changing anything. Done means reading on either client updates the other within a few seconds in both directions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, macos
- Domain
- desktop-dev, distributed-systems, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100