matrix-org / matrix-spec

The Matrix protocol specification
Apache License 2.0
171 stars 91 forks source link

Unread notification count remains stagnant when push rules are enabled. #1760

Closed dhaval-t-simform closed 3 months ago

dhaval-t-simform commented 3 months ago

Description: When activating the push rules using PUSH_MASTER_RULE = ".m.rule.master", the issue arises where the /sync stream fails to reflect any changes in the unread notification count. Initially, if there are 3 unread notifications, enabling the push master rule doesn't update this count for new incoming messages i.e. we receive 3 as the unread count from the /sync stream. Subsequently, if the push rules are disabled, the unread count remains stagnant at 3. However, as new messages come in, the count incrementally increases to 4, 5, and so forth. When the push rules are enabled, the notification count fails to update, and even upon disabling them thereafter, the count increases on the new message but have no track of previously received notification.

Steps to Reproduce:

notification_count_issue https://spec.matrix.org/unstable/client-server-api/#receiving-notifications

Expected Behavior: Get updated notification count in the sync stream to keep track of unread count.

Actual Behavior: Not able to receive updated notification count in the sync stream to keep track of unread count.

Environment: matrix-js-sdk version: [29.1.0] React version: [18.2.0] Node.js version: [18.16.0] Operating System: [Ubuntu 20.04]

If more information is needed, let me know I can provide.

richvdh commented 3 months ago

Enabling .m.rule.master explicitly disables notifications, so this sounds like expected behavior to me:

image

(https://spec.matrix.org/v1.9/client-server-api/#default-override-rules)

I think that, whatever you're trying to do, .m.rule.master is the wrong way to do it.

KitsuneRal commented 3 months ago

From the issue description, I don't see a problem with the spec here. There might be an issue with the SDK at most, and that too seems unlikely, see above.