Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EDUs with room id field cause notifications #17263

Closed
timokoesters opened this issue May 12, 2021 · 2 comments · Fixed by matrix-org/matrix-react-sdk#9664
Closed

EDUs with room id field cause notifications #17263

timokoesters opened this issue May 12, 2021 · 2 comments · Fixed by matrix-org/matrix-react-sdk#9664

Comments

@timokoesters
Copy link

Description

Incoming EDUs over /sync can produce notifications if they contain the room_id field

Conduit:

{
	"ephemeral": {
		"events": [
			{
				"type": "m.receipt",
				"content": {
					"$zLsGHlRy8UIQnfoBCqagxOVz79DDb2y56XketZhxdw8": {
						"m.read": {
							"@tulir:maunium.net": {
								"ts": 1620812476643
							}
						}
					}
				},
				"room_id": "!EgoVrPyOnPSVXERlxj:gruenhage.xyz"
			}
		]
	}
}

Synapse:

{
	"ephemeral": {
		"events": [
			{
				"type": "m.receipt",
				"content": {
					"$inJlQ2wHie4DHUbNCbFRVCxInkCe5GFTqFbPwAEAbx8": {
						"m.read": {
							"@ace:kittenface.studio": {
								"ts": 1620812386378
							}
						}
					}
				}
			}
		]
	}
}

I assume the presence of the room_id key triggers Element to apply a push rule to the event.

You can see here in the spec that receipt events should contain a room id: https://matrix.org/docs/spec/client_server/r0.6.1#m-receipt

You can also see it in the example response to /sync: https://matrix.org/docs/spec/client_server/r0.6.1#get-matrix-client-r0-sync (but the /sync definition for Event doesn't list the room_id field, so maybe it's a gray zone).

I think Element should not play notifications sounds for EDUs in any case

Version: Element Web staging

@timokoesters
Copy link
Author

I removed that field now in Conduit and it isn't a problem anymore, but this behavior still feels like some sort of bug in Element to me

@timokoesters timokoesters changed the title EDUs cause notifications on Conduit EDUs with room id field cause notifications May 23, 2021
@kegsay
Copy link
Contributor

kegsay commented Nov 30, 2022

On further investigation, it looks like Element Web was applying push rules to events which were not live timeline events (account data, EDUs, state events, etc), due to it listening for ClientEvent.Event. This was changed in matrix-org/matrix-react-sdk@d63a0d3 where the correct fix is just to listen for the old Room.timeline and check if data.liveEvent is true.

kegsay added a commit to matrix-org/matrix-react-sdk that referenced this issue Nov 30, 2022
…n-timeline events

This was caused by listening for ClientEvent.Event, not RoomEvent.Timeline.
Fixes element-hq/element-web#17263
kegsay added a commit to matrix-org/matrix-react-sdk that referenced this issue Dec 1, 2022
…n-timeline events (#9664)

* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events

This was caused by listening for ClientEvent.Event, not RoomEvent.Timeline.
Fixes element-hq/element-web#17263

* tsc strict checks maybe

* More types?

* Update src/Notifier.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Update src/Notifier.ts

* fix LL test; review comments

* More tests

* More tsc strict checks..

* More strict ts..

* More ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
su-ex added a commit to SchildiChat/element-desktop that referenced this issue Jan 15, 2023
* This allows the update server to be entirely static, such as a CDN or object store, as defined at https ([\element-hq#461](element-hq#461)).
* Enable threads by default ([\#9736](matrix-org/matrix-react-sdk#9736)). Fixes element-hq/element-web#19270 element-hq/element-web#21910 and element-hq/element-web#23946.
* Add inline code formatting to rich text editor ([\#9720](matrix-org/matrix-react-sdk#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\#9727](matrix-org/matrix-react-sdk#9727)).
* Overlay virtual room call events into main timeline ([\#9626](matrix-org/matrix-react-sdk#9626)). Fixes element-hq/element-web#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\#9596](matrix-org/matrix-react-sdk#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\#9661](matrix-org/matrix-react-sdk#9661)).
* Add setting to hide bold notifications ([\#9705](matrix-org/matrix-react-sdk#9705)).
* Further password reset flow enhancements ([\#9662](matrix-org/matrix-react-sdk#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\#9706](matrix-org/matrix-react-sdk#9706)).
* Honor advanced audio processing settings when recording voice messages ([\#9610](matrix-org/matrix-react-sdk#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\#9704](matrix-org/matrix-react-sdk#9704)).
* Add config setting to disable bulk unverified sessions nag ([\#9657](matrix-org/matrix-react-sdk#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\#9656](matrix-org/matrix-react-sdk#9656)).
* Separate labs and betas more clearly ([\#8969](matrix-org/matrix-react-sdk#8969)). Fixes element-hq/element-web#22706.
* Show user an error if we fail to create a DM for verification. ([\#9624](matrix-org/matrix-react-sdk#9624)).
* Prevent unnecessary m.direct updates ([\#9805](matrix-org/matrix-react-sdk#9805)). Fixes element-hq/element-web#24059.
* Fix checkForPreJoinUISI for thread roots ([\#9803](matrix-org/matrix-react-sdk#9803)). Fixes element-hq/element-web#24054.
* Load RTE components only when RTE labs is enabled ([\#9804](matrix-org/matrix-react-sdk#9804)).
* Fix issue where thread panel did not update correctly ([\#9746](matrix-org/matrix-react-sdk#9746)). Fixes element-hq/element-web#23971.
* Remove async call to get virtual room from room load ([\#9743](matrix-org/matrix-react-sdk#9743)). Fixes element-hq/element-web#23968.
* Check each thread for unread messages. ([\#9723](matrix-org/matrix-react-sdk#9723)).
* Device manage - handle sessions that don't support encryption ([\#9717](matrix-org/matrix-react-sdk#9717)). Fixes element-hq/element-web#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/element-web/issues/23832) ([\#9715](matrix-org/matrix-react-sdk#9715)).
* Don't allow group calls to be unterminated ([\#9710](matrix-org/matrix-react-sdk#9710)).
* Fix replies to emotes not showing as inline ([\#9707](matrix-org/matrix-react-sdk#9707)). Fixes element-hq/element-web#23903.
* Update copy of 'Change layout' button to match Element Call ([\#9703](matrix-org/matrix-react-sdk#9703)).
* Fix call splitbrains when switching between rooms ([\#9692](matrix-org/matrix-react-sdk#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\#9664](matrix-org/matrix-react-sdk#9664)). Fixes element-hq/element-web#17263.
* Fix power selector being wrongly disabled for admins themselves ([\#9681](matrix-org/matrix-react-sdk#9681)). Fixes element-hq/element-web#23882.
* Show day counts in call durations ([\#9641](matrix-org/matrix-react-sdk#9641)).
su-ex added a commit to SchildiChat/element-web that referenced this issue Jan 15, 2023
* Add inline code formatting to rich text editor ([\element-hq#9720](matrix-org/matrix-react-sdk#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\element-hq#9727](matrix-org/matrix-react-sdk#9727)).
* Overlay virtual room call events into main timeline ([\element-hq#9626](matrix-org/matrix-react-sdk#9626)). Fixes element-hq#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\element-hq#9596](matrix-org/matrix-react-sdk#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\element-hq#9661](matrix-org/matrix-react-sdk#9661)).
* Add setting to hide bold notifications ([\element-hq#9705](matrix-org/matrix-react-sdk#9705)).
* Further password reset flow enhancements ([\element-hq#9662](matrix-org/matrix-react-sdk#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\element-hq#9706](matrix-org/matrix-react-sdk#9706)).
* Honor advanced audio processing settings when recording voice messages ([\element-hq#9610](matrix-org/matrix-react-sdk#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\element-hq#9704](matrix-org/matrix-react-sdk#9704)).
* Add config setting to disable bulk unverified sessions nag ([\element-hq#9657](matrix-org/matrix-react-sdk#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\element-hq#9656](matrix-org/matrix-react-sdk#9656)).
* Separate labs and betas more clearly ([\element-hq#8969](matrix-org/matrix-react-sdk#8969)). Fixes element-hq#22706.
* Show user an error if we fail to create a DM for verification. ([\element-hq#9624](matrix-org/matrix-react-sdk#9624)).
* Prevent unnecessary m.direct updates ([\element-hq#9805](matrix-org/matrix-react-sdk#9805)). Fixes element-hq#24059.
* Fix checkForPreJoinUISI for thread roots ([\element-hq#9803](matrix-org/matrix-react-sdk#9803)). Fixes element-hq#24054.
* Load RTE components only when RTE labs is enabled ([\element-hq#9804](matrix-org/matrix-react-sdk#9804)).
* Fix issue where thread panel did not update correctly ([\element-hq#9746](matrix-org/matrix-react-sdk#9746)). Fixes element-hq#23971.
* Remove async call to get virtual room from room load ([\element-hq#9743](matrix-org/matrix-react-sdk#9743)). Fixes element-hq#23968.
* Check each thread for unread messages. ([\element-hq#9723](matrix-org/matrix-react-sdk#9723)).
* Device manage - handle sessions that don't support encryption ([\element-hq#9717](matrix-org/matrix-react-sdk#9717)). Fixes element-hq#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/issues/23832) ([\element-hq#9715](matrix-org/matrix-react-sdk#9715)).
* Don't allow group calls to be unterminated ([\element-hq#9710](matrix-org/matrix-react-sdk#9710)).
* Fix replies to emotes not showing as inline ([\element-hq#9707](matrix-org/matrix-react-sdk#9707)). Fixes element-hq#23903.
* Update copy of 'Change layout' button to match Element Call ([\element-hq#9703](matrix-org/matrix-react-sdk#9703)).
* Fix call splitbrains when switching between rooms ([\element-hq#9692](matrix-org/matrix-react-sdk#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\element-hq#9664](matrix-org/matrix-react-sdk#9664)). Fixes element-hq#17263.
* Fix power selector being wrongly disabled for admins themselves ([\element-hq#9681](matrix-org/matrix-react-sdk#9681)). Fixes element-hq#23882.
* Show day counts in call durations ([\element-hq#9641](matrix-org/matrix-react-sdk#9641)).
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Jan 15, 2023
* Prevent unnecessary m.direct updates ([\matrix-org#9805](matrix-org#9805)). Fixes element-hq/element-web#24059.
* Fix checkForPreJoinUISI for thread roots ([\matrix-org#9803](matrix-org#9803)). Fixes element-hq/element-web#24054.
* Add inline code formatting to rich text editor ([\matrix-org#9720](matrix-org#9720)).
* Add emoji handling for plain text mode of the new rich text editor ([\matrix-org#9727](matrix-org#9727)).
* Overlay virtual room call events into main timeline ([\matrix-org#9626](matrix-org#9626)). Fixes element-hq/element-web#22929.
* Adds a new section under "Room Settings" > "Roles & Permissions" which adds the possibility to multiselect users from this room and grant them more permissions. ([\matrix-org#9596](matrix-org#9596)). Contributed by @GoodGuyMarco.
* Add emoji handling for rich text mode ([\matrix-org#9661](matrix-org#9661)).
* Add setting to hide bold notifications ([\matrix-org#9705](matrix-org#9705)).
* Further password reset flow enhancements ([\matrix-org#9662](matrix-org#9662)).
* Snooze the bulk unverified sessions reminder on dismiss ([\matrix-org#9706](matrix-org#9706)).
* Honor advanced audio processing settings when recording voice messages ([\matrix-org#9610](matrix-org#9610)). Contributed by @MrAnno.
* Improve the visual balance of bubble layout ([\matrix-org#9704](matrix-org#9704)).
* Add config setting to disable bulk unverified sessions nag ([\matrix-org#9657](matrix-org#9657)).
* Only display bulk unverified sessions nag when current sessions is verified ([\matrix-org#9656](matrix-org#9656)).
* Separate labs and betas more clearly ([\matrix-org#8969](matrix-org#8969)). Fixes element-hq/element-web#22706.
* Show user an error if we fail to create a DM for verification. ([\matrix-org#9624](matrix-org#9624)).
* Fix issue where thread panel did not update correctly ([\matrix-org#9746](matrix-org#9746)). Fixes element-hq/element-web#23971.
* Remove async call to get virtual room from room load ([\matrix-org#9743](matrix-org#9743)). Fixes element-hq/element-web#23968.
* Check each thread for unread messages. ([\matrix-org#9723](matrix-org#9723)).
* Device manage - handle sessions that don't support encryption ([\matrix-org#9717](matrix-org#9717)). Fixes element-hq/element-web#23722.
* Fix hover state for formatting buttons (Rich text editor) (fix element-hq/element-web/issues/23832) ([\matrix-org#9715](matrix-org#9715)).
* Don't allow group calls to be unterminated ([\matrix-org#9710](matrix-org#9710)).
* Fix replies to emotes not showing as inline ([\matrix-org#9707](matrix-org#9707)). Fixes element-hq/element-web#23903.
* Update copy of 'Change layout' button to match Element Call ([\matrix-org#9703](matrix-org#9703)).
* Fix call splitbrains when switching between rooms ([\matrix-org#9692](matrix-org#9692)).
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events ([\matrix-org#9664](matrix-org#9664)). Fixes element-hq/element-web#17263.
* Fix power selector being wrongly disabled for admins themselves ([\matrix-org#9681](matrix-org#9681)). Fixes element-hq/element-web#23882.
* Show day counts in call durations ([\matrix-org#9641](matrix-org#9641)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants