Closed
Description
We need to close the gap to the notifications system depicted in the figma spec.
The Exit Beta Milestone Notifications requirements are here
We have the following problems:
- The clients do not sync the thread read state in response to users reading threads, so marking a thread as unread on one device doesn’t mark it as unread on the other devices.
- The room's read counter is based on the main timeline’s read receipt, which doesn’t consider threaded messages separately, so reading the main timeline decrements any count due to threaded messages in that period even though they aren’t visible in the main timeline.
- According to the Figma, every updated thread that a user has participated in should be counted as one in the thread icon’s counter badge on the room header. That is, the number on that badge equals the number of updated threads that the user has participated in. (currently, we don't show a number, just a dot)
- According to the Figma, the total count in the thread icon badge should be used to calculate the total count in the room and space badges of the left sidebar (needs discussion)
We have a proposal to add threading support to read receipts, which solves 1, 2 and 3
Implementation
After implementing two proof of concepts, element-hq/element-web#22980 & element-hq/element-web#22981 we have confidence in the approach that we want to take
- Implement MSC3771 (read receipts for threads) element-web#23191
- Implement MSC3773 (notifications for threads) element-web#23192
- Implement MSC3771 (read receipts for threads) element-android#6996
- Implement MSC3773 (notifications for threads) element-android#6997
- Implement MSC3771 (read receipts for threads) element-ios#6663
- Implement MSC3773 (notifications for threads) element-ios#6664