Tombstone Room Screen and tombstone indicator#536
Conversation
72d036f to
a4e48fa
Compare
3de3fa1 to
8945968
Compare
|
Is this ready for review? Seems like there are still a few remaining to-do items, or do you have specific questions? If so, let me know what you're having problems with. |
A room is tombstoned if it has received a m.room.tombstone state event; see Room::tombstone_content. Currently, my solution decides if a room is tombstoned when adding the new room instead of actually waiting for room state event m.room.tombstone.
|
Certainly yes, this should be part of RoomScreen. Note that users may still want to view and interact with events in a tombstoned room; they just won't be able to send messages to it.
Hm? Not sure what you're referring to. |
e77f14d to
3461d94
Compare
kevinaboos
left a comment
There was a problem hiding this comment.
Thanks, this is a great start. I left some comments about the structure of the code and how tombstoned info is sent throughout the app.
In general, when we discover a new room from the homeserver, don't we already know whether it has been tombstoned? And when we know whether a room is_tombstoned, we should be able to immediately retrieve the tombstoned info via successor_room(), which internally calls tombstone_content()?
I think we should be able to store the tombstoned/successor room information in the RoomScreen itself (more specifically, the TimelineUiState) once we discover it. We can do this instead of just maintaining a single is_tombstoned bool, right?
Co-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>
kevinaboos
left a comment
There was a problem hiding this comment.
Things look generally good! Just a few small comments.
Apologies for the delay, I was working on a conference talk and traveling to said conference, as you likely already know.
Co-authored-by: Kevin Boos <1139460+kevinaboos@users.noreply.github.com>
|
I thought we had a "join room" icon already, but apparently not. I'll add one and use it for both the successor room button the join room modal as well. |
Previously, PR project-robius#536 added support for showing a tombstoned room and information about its successor/replacement room, but did not fully handle the case where a new room is unknown. We now handle that properly, and also support deferred navigation to the newly-joined room that waits for it to actually joined and fully loaded/received by our client from the homeserver, at which point it can actually jump to that new room.
Screen.Recording.2025-07-09.at.9.52.16.AM.mov
How to tombstone a room?
`{ "body" : "The room has been replaced", "replacement_room": "[Some room_id]"}