element-hq / element-hq/element-meta
[Story] Threads: Unread bubble in thread's summary (in the timeline)
- Dominant language
- No language data
- Stars
- 112
- Forks
- 25
- Avg merge
- 6h 6m
- Merged PRs (30d)
- 4
Description
### Description
* As a user
* When I see a message in the timeline that has replies in the thread
* Then I want to see if the thread has a new replies (since I last read it)
* So that I would not need to open the thread and manually check this for each thread
Unread in this context means that a new message has been posted to the thread since the user last read it, it is independent from notification settings. A special decoration is NOT expected if there was a notification (e.g. user was mentioned in the thread).
### Acceptance criteria
- Making it work accurately is desired and attempted but NOT a must have in case the latter results in more effort than anticipated. It is also not accurate currently.
### Dependencies
- In order to work accurately, it needs a back-pagination mechanism to make sure we do not miss any "older" threads. Such mechanism is needed in any case for other purposes like getting accurate app badge count.
### Out of scope
- Nothing
### Questions
- [ ]
## Subtasks
### Android
-
### iOS
-
### Rust
- https://github.com/matrix-org/matrix-rust-sdk/issues/4113 so the event cache handles read receipts (threaded or not)
### Other
-
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the Rust dependency issue #4113 and the Android and iOS subtasks, since no implementation files or tests are named here. Trace how threaded read receipts would support the timeline summary, then confirm the expected unread decoration and how accuracy is handled when older threads are missing. Done means the timeline can show a thread as unread based on messages posted since the user last read it, independently of notifications.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, ios, rust
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100