element-hq / element-hq/hydrogen-web
Support room versioning
- Dominant language
- TypeScript
- Stars
- 714
- Forks
- 131
- PR merge metrics
- No merged PRs in 30d
Description
multiple rooms need to merged into one, with their timeline stitched together:
- [ ] in timelineFragment, the nextId and previousId fields should contain the full key including the room id rather than just the fragment id. This way their pointers can point across rooms.
- [ ] the roomSummary store gains a `previousRoomVersions` field, containing an array with the room ids
- [ ] when receiving a tombstone event:
- [ ] update the room summary: change the room id of the room summary to the new, superseding room id while adding the current room id to the previousRoomVersions field.
- [ ] create a new timeline fragment for the new room and point the old timeline fragment to it
- [ ] how do we handle updates to replaced rooms? by default it wouldn't find the room anymore and hence create a new one. We want to store the update except for the room summary, which should only be changed by the last room.
Contributor guide
Assessment
This issue has not been assessed yet.