matrix-org / matrix-org/matrix-spec

Tombstone notifications in predecessor rooms are not cleared when joining the new room

Open
#1,420 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

improvement
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

When upgrading a room, a m.room.tombstone event is sent into the room containing a pointer to a new room. The .m.rule.tombstone push rule causes m.room.tombstone events to generate a push notification with highlight and notify actions; this is so that users notice a room has been upgraded. Users can then look at the old room, see that it has been upgraded and then initiate an action to join the upgraded room accordingly.

Additionally, as part of the room upgrade process for invite-only rooms, users are invited to the new room (as they would not be able to join otherwise). Users can accept these invites and join the new room without looking at the old room at all.

In both of these cases, it's possible for the user to not send a read receipt in the old room, thus leaving the notification from the m.room.tombstone event unread. This culminates in the user continually having a notification in the old room, until they go and read the room manually, which can be frustrating.

The reason behind the notification is to catch the user's attention and ensure they join the new room (and thus don't miss subsequent events/notifications in the new room). I propose that the act of joining the new room should automatically clear any notifications generated by a m.room.tombstone event in the predecessor room. Either by sending a read receipt into the old room at the tombstone event, or by some other method.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked Matrix Client-Server API sections for m.room.tombstone and .m.rule.tombstone, then examine how room upgrades and invites are specified. Define the normative behavior for clearing tombstone notifications when joining the new room; the work is done when the specification records an agreed mechanism and its edge cases.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.