-
Notifications
You must be signed in to change notification settings - Fork 331
Open
Labels
Description
The SDK is ripe for supporting threads, which allows parallel topical discussions and reduce confusion. And, it will make it possible to add support for it in embeddings, notably in ElementX, closing the gap with the Element app's feature set.
We'll update this issue as soon as we'll identify the next steps.
Here is the high-level overview of what we're planning to implement:
Interacting with threads
- feat(timeline): add functions for sending messages in threads #4819
- timeline: media attachments as (thread) replies #4835
- feat(threads): add methods to list a room's threads + list all related events #4973
- List all the threads of a room with
/threads
- Retrieve all the thread events with
/relations
- List all the threads of a room with
- timeline: support permalink to a threaded message #5535
Thread-focused timeline
A new timeline focus will be introduced that will represent a thread. Threads will include message-like events, and will be updated in real-time.
- timeline: add thread-focused timeline #4833
- feat!(timeline): Introduce an extra
TimelineItemContent
layer that holds aggregations #4839 - timeline: Aggregated timeline item content cleanup #4853
- refactor(timeline): bump as_variant and make more use of its pattern matching form #4854
- chore: move
RedactedMessage
andUnableToDecrypt
toMsgLike
#4860 - feat(ui): add new
Thread
timeline focus mode and associated events loader #5032 - How to filter out in-thread events from a timeline? Using the
EventFilter
might be sufficient, but if it's not we'll need a different type. - Handle events related to an in-thread events, from sync, in real-time. Probably means finishing refactor(timeline): replace
TimelineEventKind
withTimelineAction
#4655 so we can only observe aggregations from sync, and apply them in the thread if needs be.
Thread data model and persistent storage
spin off in their own issues:
Read receipts
We want to support thread read receipts. This will not interact with unread status on rooms, yet.
- show thread receipts
- timeline: mark a thread as read #4834
Thread subscriptions
See also #5038, which includes more details.
Bonus / Moonshots / Nice-to-have
frebib