-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Notif panel needs to know how to deal with encrypted room #6874
Comments
* Decrease profile button touch target ([\element-hq#6900](matrix-org/matrix-react-sdk#6900)). Contributed by [ColonisationCaptain](https://github.com/ColonisationCaptain). * Don't let click events propagate out of context menus ([\element-hq#6892](matrix-org/matrix-react-sdk#6892)). * Allow closing Dropdown via its chevron ([\element-hq#6885](matrix-org/matrix-react-sdk#6885)). Fixes element-hq#19030 and element-hq#19030. * Improve AUX panel behaviour ([\element-hq#6699](matrix-org/matrix-react-sdk#6699)). Fixes element-hq#18787 and element-hq#18787. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * A nicer opening animation for the Image View ([\#6454](matrix-org/matrix-react-sdk#6454)). Fixes element-hq#18186 and element-hq#18186. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * [Release] Fix space hierarchy pagination ([\element-hq#6910](matrix-org/matrix-react-sdk#6910)). * Fix leaving space via other client leaving you in undefined-land ([\element-hq#6891](matrix-org/matrix-react-sdk#6891)). Fixes element-hq#18455 and element-hq#18455. * Handle newer voice message encrypted event format for chat export ([\element-hq#6893](matrix-org/matrix-react-sdk#6893)). Contributed by [jaiwanth-v](https://github.com/jaiwanth-v). * Fix pagination when filtering space hierarchy ([\element-hq#6876](matrix-org/matrix-react-sdk#6876)). Fixes element-hq#19235 and element-hq#19235. * Fix spaces null-guard breaking the dispatcher settings watching ([\element-hq#6886](matrix-org/matrix-react-sdk#6886)). Fixes element-hq#19223 and element-hq#19223. * Fix space children without specific `order` being sorted after those with one ([\element-hq#6878](matrix-org/matrix-react-sdk#6878)). Fixes element-hq#19192 and element-hq#19192. * Ensure that sub-spaces aren't considered for notification badges ([\element-hq#6881](matrix-org/matrix-react-sdk#6881)). Fixes element-hq#18975 and element-hq#18975. * Fix timeline autoscroll with non-standard DPI settings. ([\element-hq#6880](matrix-org/matrix-react-sdk#6880)). Fixes element-hq#18984 and element-hq#18984. * Pluck out JoinRuleSettings styles so they apply in space settings too ([\element-hq#6879](matrix-org/matrix-react-sdk#6879)). Fixes element-hq#19164 and element-hq#19164. * Null guard around the matrixClient in SpaceStore ([\element-hq#6874](matrix-org/matrix-react-sdk#6874)). * Fix issue (https ([\element-hq#6871](matrix-org/matrix-react-sdk#6871)). Fixes element-hq#19138 and element-hq#19138. Contributed by [psrpinto](https://github.com/psrpinto). * Fix pills being cut off in message bubble layout ([\element-hq#6865](matrix-org/matrix-react-sdk#6865)). Fixes element-hq#18627 and element-hq#18627. Contributed by [robintown](https://github.com/robintown). * Fix space admin check false positive on multiple admins ([\element-hq#6824](matrix-org/matrix-react-sdk#6824)). * Fix the User View ([\element-hq#6860](matrix-org/matrix-react-sdk#6860)). Fixes element-hq#19158 and element-hq#19158. * Fix spacing for message composer buttons ([\element-hq#6852](matrix-org/matrix-react-sdk#6852)). Fixes element-hq#18999 and element-hq#18999. * Always show root event of a thread in room's timeline ([\element-hq#6842](matrix-org/matrix-react-sdk#6842)). Fixes element-hq#19016 and element-hq#19016.
* Decrease profile button touch target ([\element-hq#6900](matrix-org/matrix-react-sdk#6900)). Contributed by [ColonisationCaptain](https://github.com/ColonisationCaptain). * Don't let click events propagate out of context menus ([\element-hq#6892](matrix-org/matrix-react-sdk#6892)). * Allow closing Dropdown via its chevron ([\element-hq#6885](matrix-org/matrix-react-sdk#6885)). Fixes element-hq#19030 and element-hq#19030. * Improve AUX panel behaviour ([\element-hq#6699](matrix-org/matrix-react-sdk#6699)). Fixes element-hq#18787 and element-hq#18787. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * A nicer opening animation for the Image View ([\#6454](matrix-org/matrix-react-sdk#6454)). Fixes element-hq#18186 and element-hq#18186. Contributed by [SimonBrandner](https://github.com/SimonBrandner). * [Release] Fix space hierarchy pagination ([\element-hq#6910](matrix-org/matrix-react-sdk#6910)). * Fix leaving space via other client leaving you in undefined-land ([\element-hq#6891](matrix-org/matrix-react-sdk#6891)). Fixes element-hq#18455 and element-hq#18455. * Handle newer voice message encrypted event format for chat export ([\element-hq#6893](matrix-org/matrix-react-sdk#6893)). Contributed by [jaiwanth-v](https://github.com/jaiwanth-v). * Fix pagination when filtering space hierarchy ([\element-hq#6876](matrix-org/matrix-react-sdk#6876)). Fixes element-hq#19235 and element-hq#19235. * Fix spaces null-guard breaking the dispatcher settings watching ([\element-hq#6886](matrix-org/matrix-react-sdk#6886)). Fixes element-hq#19223 and element-hq#19223. * Fix space children without specific `order` being sorted after those with one ([\element-hq#6878](matrix-org/matrix-react-sdk#6878)). Fixes element-hq#19192 and element-hq#19192. * Ensure that sub-spaces aren't considered for notification badges ([\element-hq#6881](matrix-org/matrix-react-sdk#6881)). Fixes element-hq#18975 and element-hq#18975. * Fix timeline autoscroll with non-standard DPI settings. ([\element-hq#6880](matrix-org/matrix-react-sdk#6880)). Fixes element-hq#18984 and element-hq#18984. * Pluck out JoinRuleSettings styles so they apply in space settings too ([\element-hq#6879](matrix-org/matrix-react-sdk#6879)). Fixes element-hq#19164 and element-hq#19164. * Null guard around the matrixClient in SpaceStore ([\element-hq#6874](matrix-org/matrix-react-sdk#6874)). * Fix issue (https ([\element-hq#6871](matrix-org/matrix-react-sdk#6871)). Fixes element-hq#19138 and element-hq#19138. Contributed by [psrpinto](https://github.com/psrpinto). * Fix pills being cut off in message bubble layout ([\element-hq#6865](matrix-org/matrix-react-sdk#6865)). Fixes element-hq#18627 and element-hq#18627. Contributed by [robintown](https://github.com/robintown). * Fix space admin check false positive on multiple admins ([\element-hq#6824](matrix-org/matrix-react-sdk#6824)). * Fix the User View ([\element-hq#6860](matrix-org/matrix-react-sdk#6860)). Fixes element-hq#19158 and element-hq#19158. * Fix spacing for message composer buttons ([\element-hq#6852](matrix-org/matrix-react-sdk#6852)). Fixes element-hq#18999 and element-hq#18999. * Always show root event of a thread in room's timeline ([\element-hq#6842](matrix-org/matrix-react-sdk#6842)). Fixes element-hq#19016 and element-hq#19016.
Are there any Updates on this? For a company environment it is quite important to sustain high grade of communication flow. |
From a discussion out of band, it feels like the notification panel could include client-side mentions since that's how notifications are calculated in E2EE rooms. I assume the client already has enough info to interleave whatever it thinks is a notification to display as a mention in that panel but in order to be 100% correct and have access to all historical notifications we need the following: @t3chguy noted that the server would need to include the e2ee notify rule results in And with sliding sync, the I just feel like any compromise that's good enough for notifications in e2ee rooms is good enough for that panel. If I have a notification, I feel like should be able to see it in the panel (applies to any message that is available to the client at that moment). This would be a major step-up. I understand how it could fall off the list since it's not back-paginated but we can iterate that separately (as noted above) |
I think having notifications load up little by little because of sliding sync is not a problem and is kind of expected by an end user. Even if they don't realise how sliding sync works, they are already used to infinite scroll and things loading asynchronously in many other applications. One sure thing is that the server should be oblivious of any E2EE content, including mentions and other explicit notifications. |
They wouldn't load little by little unless you had something backpaginating things like Seshat. Seshat doesn't work in a browser. Seshat also doesn't yet store notifications. The other way would be to mass backpaginate all encrypted rooms when a user scrolls up and stitch timelines but that would likely not be acceptable due to the amount of requests made to the server and how much extra data will get filled into memory |
I believed using sliding sync also meant having back pagination but yes, without some kind of storage, it would be taxing on the memory usage. I don't see the difference with the server though: does it matter if a client backpaginates because of Seshat or something else? |
Seshat runs intentionally slowly whereas this would ideally backpaginate every of your encrypted rooms at once otherwise the back pagination of the notif panel would be jumpy as things get stitched into the middle |
What if Element does the same as Seshat but discards any event without a notification? It will basically backfill until the previous read state and only keep in memory notification information. |
We'd need to reinvent something like Seshat (which doesn't support web) to store it in, otherwise it has to be re-loaded every time you reload the app or update it. Its definitely possible but the experience for backpaginating the panel would be very slow and jumpy. |
Can't we use the |
We already store too much in localStorage, often hitting quotas. IDB would be a better option. But you'd also need to handle redactions, periodically checking back on all those stored events to see if they got redacted. |
I think the proper solution would be to make Seshat work in Element Web (I think the only issue is that the tantivy dependency doesn't support it) and then have it expose an API specifically for notifications, similar to the C2S |
Doing that would solve a lot of problems like having a list of your threads and similar. |
IndexedDB. |
As an occasional user of Element, not having notifications makes the app borderline unusable for async communication. |
Today the notification panel is unable to retrieve notifications from encrypted room. This really cripples the experience for people heavily using encryption and needs to be fixed before enabling e2e by default
The text was updated successfully, but these errors were encountered: