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

Reactions can lead to room notifications in encrypted rooms #10130

Closed
jryans opened this issue Jun 20, 2019 · 2 comments · Fixed by matrix-org/matrix-js-sdk#968
Closed

Reactions can lead to room notifications in encrypted rooms #10130

jryans opened this issue Jun 20, 2019 · 2 comments · Fixed by matrix-org/matrix-js-sdk#968

Comments

@jryans
Copy link
Collaborator

jryans commented Jun 20, 2019

@erikjohnston and I just spotted a new source of stuck notifications and other excitement with reactions... 😖

In a encrypted room, reactions are currently encrypted just like other events and end up with the message type m.room.encrypted. The default push rules for encrypted DM rooms notify for any message of type m.room.encrypted, so this will include reactions in such rooms.

Riot should now be advancing your read receipt past reactions (thus clearing the stuck notification), but @erikjohnston has observed this not working at least in one test case. (Further investigation is needed work out what the bug is here.)

On related note, it is a bit silly that apply the typical encryption path to reactions (including content ciphertext and setting the type to m.room.encrypted) because the relation data is sent around in the clear anyway. (We have separate future plans to specially encrypt just the reaction key.) It also prevents the server from aggregation reactions altogether, as it currently is watching for events with type m.reaction, but that won't be true in an encrypted room.

@jryans
Copy link
Collaborator Author

jryans commented Jun 20, 2019

I added a comment to the MSC to suggest changing the event type for reactions.

@jryans jryans self-assigned this Jun 26, 2019
jryans added a commit to matrix-org/matrix-js-sdk that referenced this issue Jun 26, 2019
For reactions, there is a very little gained by encrypting the entire event, as
relation data is already kept in the clear. Event encryption for a reaction
effectively only obscures the event type, but the purpose is still obvious from
the relation data, so nothing is really gained. It also causes quite a few
problems, such as:

  * triggers notifications via default push rules
  * prevents server-side bundling for reactions

The reaction key / content / emoji value does warrant encrypting, but this will
be handled separately by encrypting just this value.

See matrix-org/matrix-spec-proposals#1849 (review)
Fixes element-hq/element-web#10130
@jryans jryans changed the title Reactions can lead to stuck room notifications in encrypted rooms Reactions can lead to room notifications in encrypted rooms Jun 26, 2019
@jryans
Copy link
Collaborator Author

jryans commented Jun 26, 2019

I have edited this capture that only the "notification" part has been fixed. The "stuck" part is not yet fixed since we don't understand the cause yet. We should use a separate issue to track that.

su-ex added a commit to SchildiChat/element-web that referenced this issue Feb 28, 2023
* Description of QR code sign in labs feature ([\element-hq#23513](element-hq#23513)). Contributed by @hughns.
* Add option to find own location in map views ([\element-hq#10083](matrix-org/matrix-react-sdk#10083)).
* Render poll end events in timeline ([\element-hq#10027](matrix-org/matrix-react-sdk#10027)). Contributed by @kerryarchibald.
* Indicate unread messages in tab title ([\element-hq#10096](matrix-org/matrix-react-sdk#10096)). Contributed by @tnt7864.
* Open message in editing mode when keyboard up is pressed (RTE) ([\element-hq#10079](matrix-org/matrix-react-sdk#10079)). Contributed by @florianduros.
* Hide superseded rooms from the room list using dynamic room predecessors ([\element-hq#10068](matrix-org/matrix-react-sdk#10068)). Contributed by @andybalaam.
* Support MSC3946 in RoomListStore ([\element-hq#10054](matrix-org/matrix-react-sdk#10054)). Fixes element-hq#24325. Contributed by @andybalaam.
* Auto focus security key field ([\element-hq#10048](matrix-org/matrix-react-sdk#10048)).
* use Poll model with relations API in poll rendering ([\element-hq#9877](matrix-org/matrix-react-sdk#9877)). Contributed by @kerryarchibald.
* Support MSC3946 in the RoomCreate tile ([\element-hq#10041](matrix-org/matrix-react-sdk#10041)). Fixes element-hq#24323. Contributed by @andybalaam.
* Update labs flag description for RTE ([\#10058](matrix-org/matrix-react-sdk#10058)). Contributed by @florianduros.
* Change ul list style to disc when editing message ([\element-hq#10043](matrix-org/matrix-react-sdk#10043)). Contributed by @alunturner.
* Improved click detection within PiP windows ([\element-hq#10040](matrix-org/matrix-react-sdk#10040)). Fixes element-hq#24371.
* Add RTE keyboard navigation in editing ([\element-hq#9980](matrix-org/matrix-react-sdk#9980)). Fixes element-hq#23621. Contributed by @florianduros.
* Paragraph integration for rich text editor ([\element-hq#10008](matrix-org/matrix-react-sdk#10008)). Contributed by @alunturner.
* Add  indentation increasing/decreasing to RTE ([\element-hq#10034](matrix-org/matrix-react-sdk#10034)). Contributed by @florianduros.
* Add ignore user confirmation dialog ([\element-hq#6116](matrix-org/matrix-react-sdk#6116)). Fixes element-hq#14746.
* Use monospace font for room, message IDs in View Source modal ([\element-hq#9956](matrix-org/matrix-react-sdk#9956)). Fixes element-hq#21937. Contributed by @paragpoddar.
* Implement MSC3946 for AdvancedRoomSettingsTab ([\#9995](matrix-org/matrix-react-sdk#9995)). Fixes element-hq#24322. Contributed by @andybalaam.
* Implementation of MSC3824 to make the client OIDC-aware ([\element-hq#8681](matrix-org/matrix-react-sdk#8681)). Contributed by @hughns.
* Improves a11y for avatar uploads ([\element-hq#9985](matrix-org/matrix-react-sdk#9985)). Contributed by @GoodGuyMarco.
* Add support for [token authenticated registration](https ([\element-hq#7275](matrix-org/matrix-react-sdk#7275)). Fixes element-hq#18931. Contributed by @govynnus.
* Jitsi requests 'requires_client' capability if auth token is provided ([\element-hq#24294](element-hq#24294)). Contributed by @maheichyk.
* Remove duplicate white space characters from translation keys ([\element-hq#10152](matrix-org/matrix-react-sdk#10152)). Contributed by @luixxiul.
* Fix the caption of new sessions manager on Labs settings page for localization ([\element-hq#10143](matrix-org/matrix-react-sdk#10143)). Contributed by @luixxiul.
* Prevent start another DM with a user if one already exists ([\element-hq#10127](matrix-org/matrix-react-sdk#10127)). Fixes element-hq#23138.
* Remove white space characters before the horizontal ellipsis ([\element-hq#10130](matrix-org/matrix-react-sdk#10130)). Contributed by @luixxiul.
* Fix Selectable Text on 'Delete All' and 'Retry All' Buttons ([\element-hq#10128](matrix-org/matrix-react-sdk#10128)). Fixes element-hq#23232. Contributed by @akshattchhabra.
* Correctly Identify emoticons ([\element-hq#10108](matrix-org/matrix-react-sdk#10108)). Fixes element-hq#19472. Contributed by @adarsh-sgh.
* Should open new 1:1 chat room after leaving the old one ([\element-hq#9880](matrix-org/matrix-react-sdk#9880)). Contributed by @ahmadkadri.
* Remove a redundant white space ([\element-hq#10129](matrix-org/matrix-react-sdk#10129)). Contributed by @luixxiul.
* Fix a crash when removing persistent widgets (updated) ([\element-hq#10099](matrix-org/matrix-react-sdk#10099)). Fixes element-hq#24412. Contributed by @andybalaam.
* Fix wrongly grouping 3pid invites into a single repeated transition ([\element-hq#10087](matrix-org/matrix-react-sdk#10087)). Fixes element-hq#24432.
* Fix scrollbar colliding with checkbox in add to space section ([\element-hq#10093](matrix-org/matrix-react-sdk#10093)). Fixes element-hq#23189. Contributed by @Arnabdaz.
* Add a whitespace character after 'broadcast?' ([\element-hq#10097](matrix-org/matrix-react-sdk#10097)). Contributed by @luixxiul.
* Seekbar in broadcast PiP view is now updated when switching between different broadcasts ([\element-hq#10072](matrix-org/matrix-react-sdk#10072)). Fixes element-hq#24415.
* Add border to "reject" button on room preview card for clickable area indication. It fixes element-hq#22623 ([\element-hq#9205](matrix-org/matrix-react-sdk#9205)). Contributed by @gefgu.
* Element-R: fix rageshages ([\element-hq#10081](matrix-org/matrix-react-sdk#10081)). Fixes element-hq#24430.
* Fix markdown paragraph display in timeline ([\element-hq#10071](matrix-org/matrix-react-sdk#10071)). Fixes element-hq#24419. Contributed by @alunturner.
* Prevent the remaining broadcast time from being exceeded ([\#10070](matrix-org/matrix-react-sdk#10070)).
* Fix cursor position when new line is created by pressing enter (RTE) ([\element-hq#10064](matrix-org/matrix-react-sdk#10064)). Contributed by @florianduros.
* Ensure room is actually in space hierarchy when resolving its latest version ([\element-hq#10010](matrix-org/matrix-react-sdk#10010)).
* Fix new line for inline code ([\element-hq#10062](matrix-org/matrix-react-sdk#10062)). Contributed by @florianduros.
* Member avatars without canvas ([\element-hq#9990](matrix-org/matrix-react-sdk#9990)). Contributed by @clarkf.
* Apply more general fix for base avatar regressions ([\element-hq#10045](matrix-org/matrix-react-sdk#10045)). Fixes element-hq#24382 and element-hq#24370.
* Replace list, code block and quote icons by new icons ([\element-hq#10035](matrix-org/matrix-react-sdk#10035)). Contributed by @florianduros.
* fix regional emojis converted to flags ([\element-hq#9294](matrix-org/matrix-react-sdk#9294)). Fixes element-hq#19000. Contributed by @grimhilt.
* resolved emoji description text overflowing issue ([\element-hq#10028](matrix-org/matrix-react-sdk#10028)). Contributed by @fahadNoufal.
* Fix MessageEditHistoryDialog crashing on complex input ([\element-hq#10018](matrix-org/matrix-react-sdk#10018)). Fixes element-hq#23665. Contributed by @clarkf.
* Unify unread notification state determination ([\element-hq#9941](matrix-org/matrix-react-sdk#9941)). Contributed by @clarkf.
* Fix layout and visual regressions around default avatars ([\element-hq#10031](matrix-org/matrix-react-sdk#10031)). Fixes element-hq#24375 and element-hq#24369.
* Fix useUnreadNotifications exploding with falsey room, like in notif panel ([\element-hq#10030](matrix-org/matrix-react-sdk#10030)). Fixes matrix-org/element-web-rageshakes#19334.
* Fix "[object Promise]" appearing in HTML exports ([\element-hq#9975](matrix-org/matrix-react-sdk#9975)). Fixes element-hq#24272. Contributed by @clarkf.
* changing the color of message time stamp ([\element-hq#10016](matrix-org/matrix-react-sdk#10016)). Contributed by @nawarajshah.
* Fix link creation with backward selection ([\element-hq#9986](matrix-org/matrix-react-sdk#9986)). Fixes element-hq#24315. Contributed by @florianduros.
* Misaligned reply preview in thread composer element-hq#23396 ([\element-hq#9977](matrix-org/matrix-react-sdk#9977)). Fixes element-hq#23396. Contributed by @mustafa-kapadia1483.
su-ex added a commit to SchildiChat/element-web that referenced this issue Mar 15, 2023
* Remove experimental PWA support for Firefox and Safari ([\element-hq#24630](element-hq#24630)).
* Fix block code styling in rich text editor ([\element-hq#10246](matrix-org/matrix-react-sdk#10246)). Contributed by @alunturner.
* Poll history: fetch more poll history ([\element-hq#10235](matrix-org/matrix-react-sdk#10235)). Contributed by @kerryarchibald.
* Sort short/exact emoji matches before longer incomplete matches ([\element-hq#10212](matrix-org/matrix-react-sdk#10212)). Fixes element-hq#23210. Contributed by @grimhilt.
* Poll history: detail screen ([\element-hq#10172](matrix-org/matrix-react-sdk#10172)). Contributed by @kerryarchibald.
* Provide a more detailed error message than "No known servers" ([\element-hq#6048](matrix-org/matrix-react-sdk#6048)). Fixes element-hq#13247. Contributed by @aaronraimist.
* Say when a call was answered from a different device ([\element-hq#10224](matrix-org/matrix-react-sdk#10224)).
* Widget permissions customizations using module api ([\element-hq#10121](matrix-org/matrix-react-sdk#10121)). Contributed by @maheichyk.
* Fix copy button icon overlapping with copyable text ([\element-hq#10227](matrix-org/matrix-react-sdk#10227)). Contributed by @Adesh-Pandey.
* Support joining non-peekable rooms via the module API ([\element-hq#10154](matrix-org/matrix-react-sdk#10154)). Contributed by @maheichyk.
* The "new login" toast does now display the same device information as in the settings. "No" does now open the device settings. "Yes, it was me" dismisses the toast. ([\element-hq#10200](matrix-org/matrix-react-sdk#10200)).
* Do not prompt for a password when doing a „reset all“ after login ([\element-hq#10208](matrix-org/matrix-react-sdk#10208)).
* Display "The sender has blocked you from receiving this message" error message instead of "Unable to decrypt message" ([\element-hq#10202](matrix-org/matrix-react-sdk#10202)). Contributed by @florianduros.
* Polls: show warning about undecryptable relations ([\element-hq#10179](matrix-org/matrix-react-sdk#10179)). Contributed by @kerryarchibald.
* Poll history: fetch last 30 days of polls ([\element-hq#10157](matrix-org/matrix-react-sdk#10157)). Contributed by @kerryarchibald.
* Poll history - ended polls list items ([\element-hq#10119](matrix-org/matrix-react-sdk#10119)). Contributed by @kerryarchibald.
* Remove threads labs flag and the ability to disable threads ([\element-hq#9878](matrix-org/matrix-react-sdk#9878)). Fixes element-hq#24365.
* Show a success dialog after setting up the key backup ([\element-hq#10177](matrix-org/matrix-react-sdk#10177)). Fixes element-hq#24487.
* Release Sign in with QR out of labs ([\element-hq#10182](matrix-org/matrix-react-sdk#10182)). Contributed by @hughns.
* Hide indent button in rte ([\element-hq#10149](matrix-org/matrix-react-sdk#10149)). Contributed by @alunturner.
* Add option to find own location in map views ([\element-hq#10083](matrix-org/matrix-react-sdk#10083)).
* Render poll end events in timeline ([\element-hq#10027](matrix-org/matrix-react-sdk#10027)). Contributed by @kerryarchibald.
* Use the room avatar as a placeholder in calls ([\element-hq#10231](matrix-org/matrix-react-sdk#10231)).
* Fix calls showing as 'connecting' after hangup ([\element-hq#10223](matrix-org/matrix-react-sdk#10223)).
* Stop access token overflowing the box ([\element-hq#10069](matrix-org/matrix-react-sdk#10069)). Fixes element-hq#24023. Contributed by @sbjaj33.
* Prevent multiple Jitsi calls started at the same time ([\element-hq#10183](matrix-org/matrix-react-sdk#10183)). Fixes element-hq#23009.
* Make localization keys compatible with agglutinative and/or SOV type languages ([\element-hq#10159](matrix-org/matrix-react-sdk#10159)). Contributed by @luixxiul.
* Add link to next file in the export ([\element-hq#10190](matrix-org/matrix-react-sdk#10190)). Fixes element-hq#20272. Contributed by @grimhilt.
* Ended poll tiles: add ended the poll message ([\element-hq#10193](matrix-org/matrix-react-sdk#10193)). Fixes element-hq#24579. Contributed by @kerryarchibald.
* Fix accidentally inverted condition for room ordering ([\element-hq#10178](matrix-org/matrix-react-sdk#10178)). Fixes element-hq#24527. Contributed by @justjanne.
* Re-focus the composer on dialogue quit ([\element-hq#10007](matrix-org/matrix-react-sdk#10007)). Fixes element-hq#22832. Contributed by @Ashu999.
* Try to resolve emails before creating a DM ([\element-hq#10164](matrix-org/matrix-react-sdk#10164)).
* Disable poll response loading test ([\element-hq#10168](matrix-org/matrix-react-sdk#10168)). Contributed by @justjanne.
* Fix email lookup in invite dialog ([\element-hq#10150](matrix-org/matrix-react-sdk#10150)). Fixes element-hq#23353.
* Remove duplicate white space characters from translation keys ([\element-hq#10152](matrix-org/matrix-react-sdk#10152)). Contributed by @luixxiul.
* Fix the caption of new sessions manager on Labs settings page for localization ([\element-hq#10143](matrix-org/matrix-react-sdk#10143)). Contributed by @luixxiul.
* Prevent start another DM with a user if one already exists ([\element-hq#10127](matrix-org/matrix-react-sdk#10127)). Fixes element-hq#23138.
* Remove white space characters before the horizontal ellipsis ([\element-hq#10130](matrix-org/matrix-react-sdk#10130)). Contributed by @luixxiul.
* Fix Selectable Text on 'Delete All' and 'Retry All' Buttons ([\element-hq#10128](matrix-org/matrix-react-sdk#10128)). Fixes element-hq#23232. Contributed by @akshattchhabra.
* Correctly Identify emoticons ([\element-hq#10108](matrix-org/matrix-react-sdk#10108)). Fixes element-hq#19472. Contributed by @adarsh-sgh.
* Remove a redundant white space ([\element-hq#10129](matrix-org/matrix-react-sdk#10129)). Contributed by @luixxiul.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant