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

Threads don't respect "order by unread first" ordering in room list #21700

Closed
turt2live opened this issue Apr 6, 2022 · 11 comments · Fixed by matrix-org/matrix-react-sdk#9510
Assignees
Labels
A-Threads O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect

Comments

@turt2live
Copy link
Member

Steps to reproduce

  1. Be in a room with threads
  2. Have that room set to Mentions Only
  3. Order your room list by "unread first"
  4. Look at a different room
  5. People continue to engage with a thread
  6. Room doesn't move to top of room list

Outcome

What did you expect?

The room to follow the regular ordering of the importance algorithm.

What happened instead?

The room was unread, but not in a useful place in my room list.

Likely regression following matrix-org/matrix-react-sdk#8202

Operating system

Windows 10

Application version

Nightly (2021-04-06)

How did you install the app?

The Internet

Homeserver

t2l.io

Will you send logs?

No

@dbkr dbkr added S-Minor Impairs non-critical functionality or suitable workarounds exist O-Occasional Affects or can be seen by some users regularly or most users rarely A-Threads labels Apr 7, 2022
@turt2live turt2live added S-Major Severely degrades major functionality or product features, with no satisfactory workaround and removed S-Minor Impairs non-critical functionality or suitable workarounds exist labels Apr 12, 2022
@turt2live
Copy link
Member Author

upgraded to S-Major because "disabling threads" is not satisfactory as a workaround.

@t3chguy
Copy link
Member

t3chguy commented May 11, 2022

Confirming with product how thread responses will affect the room list

@t3chguy t3chguy added the X-Needs-Product More input needed from the Product team label May 11, 2022
@turt2live
Copy link
Member Author

This is just a bug? There was a message in the room and the room was not marked as unread in the room list. The message was not a thread response.

@turt2live
Copy link
Member Author

Though yes, there is another issue of how thread responses (including mentions in those threads!!) should be represented in the room list.

@t3chguy
Copy link
Member

t3chguy commented May 11, 2022

@turt2live which was it? Marked or not marked as unread...

The room was unread, but not in a useful place in my room list.

vs

There was a message in the room and the room was not marked as unread in the room list.

@turt2live
Copy link
Member Author

I might be conflating this issue with a different issue I can't find, but probably exists... ignore me for now (or if you happen across the issue I'm speaking of, link it 😇 )

@t3chguy
Copy link
Member

t3chguy commented May 11, 2022

@turt2live #21416 ?

@turt2live
Copy link
Member Author

that sounds like it, yea.

apologies for the noise 😅

@t3chguy
Copy link
Member

t3chguy commented May 11, 2022

For v1 the unread state/count will be sum(room timeline + sum(all threads in room))

@t3chguy t3chguy removed the X-Needs-Product More input needed from the Product team label May 11, 2022
@germain-gg
Copy link
Contributor

Should a message in a thread be characterised as new activity in a room and bump the room up the list?

The RecentAlgorithm currently only inspect the last timestamp from the room timeline and orders based on that. However, all rooms with an unread counter are automatically bump to the top of the list.
We are in a weird situation where if a room is in position 5 in the list, receives a thread reply, it will be moved in position 1, and as soon as that message will be viewed and the room blurred, it will be moved back to position 5.

I would like to suggest to make the RecentAlgorithm look for the latest timestamp across all known timelines in a room

@daniellekirkwood
Copy link
Contributor

The counter in the room list should increment with thread timeline and main timeline messages. As the room list counter is increasing, and we do not distinguish between main timeline or thread timeline in the count, it would be confusing for users if the room list did not reflect this new and increasing activity in the room list order. Therefore, we want for the room list activity to change for both main timeline and thread timeline messages when either of those things are incrementing the count in the room list view.

su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this issue Nov 12, 2022
* Loading threads with server-side assistance ([\matrix-org#9356](matrix-org#9356)). Fixes element-hq/element-web#21807, element-hq/element-web#21799, element-hq/element-web#21911, element-hq/element-web#22141, element-hq/element-web#22157, element-hq/element-web#22641, element-hq/element-web#22501 element-hq/element-web#22438 and element-hq/element-web#21678. Contributed by @justjanne.
* Make thread replies trigger a room list re-ordering ([\matrix-org#9510](matrix-org#9510)). Fixes element-hq/element-web#21700.
* Device manager - add extra details to device security and renaming ([\matrix-org#9501](matrix-org#9501)). Contributed by @kerryarchibald.
* Add plain text mode to the wysiwyg composer ([\matrix-org#9503](matrix-org#9503)). Contributed by @florianduros.
* Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling ([\matrix-org#9484](matrix-org#9484)).
* Device manager - add learn more popups to filtered sessions section ([\matrix-org#9497](matrix-org#9497)). Contributed by @kerryarchibald.
* Show thread notification if thread timeline is closed ([\matrix-org#9495](matrix-org#9495)). Fixes element-hq/element-web#23589.
* Add message editing to wysiwyg composer ([\matrix-org#9488](matrix-org#9488)). Contributed by @florianduros.
* Device manager - confirm sign out of other sessions ([\matrix-org#9487](matrix-org#9487)). Contributed by @kerryarchibald.
* Automatically request logs from other users in a call when submitting logs ([\matrix-org#9492](matrix-org#9492)).
* Add thread notification with server assistance (MSC3773) ([\matrix-org#9400](matrix-org#9400)). Fixes element-hq/element-web#21114, element-hq/element-web#21413, element-hq/element-web#21416, element-hq/element-web#21433, element-hq/element-web#21481, element-hq/element-web#21798, element-hq/element-web#21823 element-hq/element-web#23192 and element-hq/element-web#21765.
* Support for login + E2EE set up with QR ([\matrix-org#9403](matrix-org#9403)). Contributed by @hughns.
* Allow pressing Enter to send messages in new composer ([\matrix-org#9451](matrix-org#9451)). Contributed by @andybalaam.
* Fix regressions around media uploads failing and causing soft crashes ([\matrix-org#9549](matrix-org#9549)). Fixes matrix-org/element-web-rageshakes#16831, matrix-org/element-web-rageshakes#16824 matrix-org/element-web-rageshakes#16810 and element-hq/element-web#23641.
* Fix /myroomavatar slash command ([\matrix-org#9536](matrix-org#9536)). Fixes matrix-org/synapse#14321.
* Fix NotificationBadge unsent color ([\matrix-org#9522](matrix-org#9522)). Fixes element-hq/element-web#23646.
* Fix room list sorted by recent on app startup ([\matrix-org#9515](matrix-org#9515)). Fixes element-hq/element-web#23635.
* Reset custom power selector when blurred on empty ([\matrix-org#9508](matrix-org#9508)). Fixes element-hq/element-web#23481.
* Reinstate timeline/redaction callbacks when updating notification state ([\matrix-org#9494](matrix-org#9494)). Fixes element-hq/element-web#23554.
* Only render NotificationBadge when needed ([\matrix-org#9493](matrix-org#9493)). Fixes element-hq/element-web#23584.
* Fix embedded Element Call screen sharing ([\matrix-org#9485](matrix-org#9485)). Fixes element-hq/element-web#23571.
* Send Content-Type: application/json header for integration manager /register API ([\matrix-org#9490](matrix-org#9490)). Fixes element-hq/element-web#23580.
* Fix joining calls without audio or video inputs ([\matrix-org#9486](matrix-org#9486)). Fixes element-hq/element-web#23511.
* Ensure spaces in the spotlight dialog have rounded square avatars ([\matrix-org#9480](matrix-org#9480)). Fixes element-hq/element-web#23515.
* Only show mini avatar uploader in room intro when no avatar yet exists ([\matrix-org#9479](matrix-org#9479)). Fixes element-hq/element-web#23552.
* Fix threads fallback incorrectly targets root event ([\matrix-org#9229](matrix-org#9229)). Fixes element-hq/element-web#23147.
* Align video call icon with banner text ([\matrix-org#9460](matrix-org#9460)).
* Set relations helper when creating event tile context menu ([\matrix-org#9253](matrix-org#9253)). Fixes element-hq/element-web#22018.
* Device manager - put client/browser device metadata in correct section ([\matrix-org#9447](matrix-org#9447)). Contributed by @kerryarchibald.
* Update the room unread notification counter when the server changes the value without any related read receipt ([\matrix-org#9438](matrix-org#9438)).
su-ex added a commit to SchildiChat/element-desktop that referenced this issue Nov 12, 2022
* Switch to notarytool ([\element-hq#440](element-hq#440)).
* Loading threads with server-side assistance ([\#9356](matrix-org/matrix-react-sdk#9356)). Fixes element-hq/element-web#21807, element-hq/element-web#21799, element-hq/element-web#21911, element-hq/element-web#22141, element-hq/element-web#22157, element-hq/element-web#22641, element-hq/element-web#22501 element-hq/element-web#22438 and element-hq/element-web#21678. Contributed by @justjanne.
* Make thread replies trigger a room list re-ordering ([\#9510](matrix-org/matrix-react-sdk#9510)). Fixes element-hq/element-web#21700.
* Device manager - add extra details to device security and renaming ([\#9501](matrix-org/matrix-react-sdk#9501)). Contributed by @kerryarchibald.
* Add plain text mode to the wysiwyg composer ([\#9503](matrix-org/matrix-react-sdk#9503)). Contributed by @florianduros.
* Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling ([\#9484](matrix-org/matrix-react-sdk#9484)).
* Device manager - add learn more popups to filtered sessions section ([\#9497](matrix-org/matrix-react-sdk#9497)). Contributed by @kerryarchibald.
* Show thread notification if thread timeline is closed ([\#9495](matrix-org/matrix-react-sdk#9495)). Fixes element-hq/element-web#23589.
* Add message editing to wysiwyg composer ([\#9488](matrix-org/matrix-react-sdk#9488)). Contributed by @florianduros.
* Device manager - confirm sign out of other sessions ([\#9487](matrix-org/matrix-react-sdk#9487)). Contributed by @kerryarchibald.
* Automatically request logs from other users in a call when submitting logs ([\#9492](matrix-org/matrix-react-sdk#9492)).
* Add thread notification with server assistance (MSC3773) ([\#9400](matrix-org/matrix-react-sdk#9400)). Fixes element-hq/element-web#21114, element-hq/element-web#21413, element-hq/element-web#21416, element-hq/element-web#21433, element-hq/element-web#21481, element-hq/element-web#21798, element-hq/element-web#21823 element-hq/element-web#23192 and element-hq/element-web#21765.
* Support for login + E2EE set up with QR ([\#9403](matrix-org/matrix-react-sdk#9403)). Contributed by @hughns.
* Allow pressing Enter to send messages in new composer ([\#9451](matrix-org/matrix-react-sdk#9451)). Contributed by @andybalaam.
* Fix regressions around media uploads failing and causing soft crashes ([\#9549](matrix-org/matrix-react-sdk#9549)). Fixes matrix-org/element-web-rageshakes#16831, matrix-org/element-web-rageshakes#16824 matrix-org/element-web-rageshakes#16810 and element-hq/element-web#23641.
* Fix /myroomavatar slash command ([\#9536](matrix-org/matrix-react-sdk#9536)). Fixes matrix-org/synapse#14321.
* Fix i18n interpolation ([\element-hq#432](element-hq#432)). Fixes element-hq/element-web#23568.
* Fix config.json failing to load for Jitsi wrapper in non-root deployment ([\#23577](element-hq/element-web#23577)).
* Fix NotificationBadge unsent color ([\#9522](matrix-org/matrix-react-sdk#9522)). Fixes element-hq/element-web#23646.
* Fix room list sorted by recent on app startup ([\#9515](matrix-org/matrix-react-sdk#9515)). Fixes element-hq/element-web#23635.
* Reset custom power selector when blurred on empty ([\#9508](matrix-org/matrix-react-sdk#9508)). Fixes element-hq/element-web#23481.
* Reinstate timeline/redaction callbacks when updating notification state ([\#9494](matrix-org/matrix-react-sdk#9494)). Fixes element-hq/element-web#23554.
* Only render NotificationBadge when needed ([\#9493](matrix-org/matrix-react-sdk#9493)). Fixes element-hq/element-web#23584.
* Fix embedded Element Call screen sharing ([\#9485](matrix-org/matrix-react-sdk#9485)). Fixes element-hq/element-web#23571.
* Send Content-Type: application/json header for integration manager /register API ([\#9490](matrix-org/matrix-react-sdk#9490)). Fixes element-hq/element-web#23580.
* Fix joining calls without audio or video inputs ([\#9486](matrix-org/matrix-react-sdk#9486)). Fixes element-hq/element-web#23511.
* Ensure spaces in the spotlight dialog have rounded square avatars ([\#9480](matrix-org/matrix-react-sdk#9480)). Fixes element-hq/element-web#23515.
* Only show mini avatar uploader in room intro when no avatar yet exists ([\#9479](matrix-org/matrix-react-sdk#9479)). Fixes element-hq/element-web#23552.
* Fix threads fallback incorrectly targets root event ([\#9229](matrix-org/matrix-react-sdk#9229)). Fixes element-hq/element-web#23147.
* Align video call icon with banner text ([\#9460](matrix-org/matrix-react-sdk#9460)).
* Set relations helper when creating event tile context menu ([\#9253](matrix-org/matrix-react-sdk#9253)). Fixes element-hq/element-web#22018.
* Device manager - put client/browser device metadata in correct section ([\#9447](matrix-org/matrix-react-sdk#9447)). Contributed by @kerryarchibald.
* Update the room unread notification counter when the server changes the value without any related read receipt ([\#9438](matrix-org/matrix-react-sdk#9438)).
su-ex added a commit to SchildiChat/element-web that referenced this issue Nov 12, 2022
* Loading threads with server-side assistance ([\element-hq#9356](matrix-org/matrix-react-sdk#9356)). Fixes element-hq#21807, element-hq#21799, element-hq#21911, element-hq#22141, element-hq#22157, element-hq#22641, element-hq#22501 element-hq#22438 and element-hq#21678. Contributed by @justjanne.
* Make thread replies trigger a room list re-ordering ([\element-hq#9510](matrix-org/matrix-react-sdk#9510)). Fixes element-hq#21700.
* Device manager - add extra details to device security and renaming ([\element-hq#9501](matrix-org/matrix-react-sdk#9501)). Contributed by @kerryarchibald.
* Add plain text mode to the wysiwyg composer ([\element-hq#9503](matrix-org/matrix-react-sdk#9503)). Contributed by @florianduros.
* Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling ([\element-hq#9484](matrix-org/matrix-react-sdk#9484)).
* Device manager - add learn more popups to filtered sessions section ([\element-hq#9497](matrix-org/matrix-react-sdk#9497)). Contributed by @kerryarchibald.
* Show thread notification if thread timeline is closed ([\element-hq#9495](matrix-org/matrix-react-sdk#9495)). Fixes element-hq#23589.
* Add message editing to wysiwyg composer ([\element-hq#9488](matrix-org/matrix-react-sdk#9488)). Contributed by @florianduros.
* Device manager - confirm sign out of other sessions ([\element-hq#9487](matrix-org/matrix-react-sdk#9487)). Contributed by @kerryarchibald.
* Automatically request logs from other users in a call when submitting logs ([\element-hq#9492](matrix-org/matrix-react-sdk#9492)).
* Add thread notification with server assistance (MSC3773) ([\element-hq#9400](matrix-org/matrix-react-sdk#9400)). Fixes element-hq#21114, element-hq#21413, element-hq#21416, element-hq#21433, element-hq#21481, element-hq#21798, element-hq#21823 element-hq#23192 and element-hq#21765.
* Support for login + E2EE set up with QR ([\element-hq#9403](matrix-org/matrix-react-sdk#9403)). Contributed by @hughns.
* Allow pressing Enter to send messages in new composer ([\element-hq#9451](matrix-org/matrix-react-sdk#9451)). Contributed by @andybalaam.
* Fix regressions around media uploads failing and causing soft crashes ([\element-hq#9549](matrix-org/matrix-react-sdk#9549)). Fixes matrix-org/element-web-rageshakes#16831, matrix-org/element-web-rageshakes#16824 matrix-org/element-web-rageshakes#16810 and element-hq#23641.
* Fix /myroomavatar slash command ([\element-hq#9536](matrix-org/matrix-react-sdk#9536)). Fixes matrix-org/synapse#14321.
* Fix config.json failing to load for Jitsi wrapper in non-root deployment ([\element-hq#23577](element-hq#23577)).
* Fix NotificationBadge unsent color ([\element-hq#9522](matrix-org/matrix-react-sdk#9522)). Fixes element-hq#23646.
* Fix room list sorted by recent on app startup ([\element-hq#9515](matrix-org/matrix-react-sdk#9515)). Fixes element-hq#23635.
* Reset custom power selector when blurred on empty ([\element-hq#9508](matrix-org/matrix-react-sdk#9508)). Fixes element-hq#23481.
* Reinstate timeline/redaction callbacks when updating notification state ([\element-hq#9494](matrix-org/matrix-react-sdk#9494)). Fixes element-hq#23554.
* Only render NotificationBadge when needed ([\element-hq#9493](matrix-org/matrix-react-sdk#9493)). Fixes element-hq#23584.
* Fix embedded Element Call screen sharing ([\element-hq#9485](matrix-org/matrix-react-sdk#9485)). Fixes element-hq#23571.
* Send Content-Type: application/json header for integration manager /register API ([\element-hq#9490](matrix-org/matrix-react-sdk#9490)). Fixes element-hq#23580.
* Fix joining calls without audio or video inputs ([\element-hq#9486](matrix-org/matrix-react-sdk#9486)). Fixes element-hq#23511.
* Ensure spaces in the spotlight dialog have rounded square avatars ([\element-hq#9480](matrix-org/matrix-react-sdk#9480)). Fixes element-hq#23515.
* Only show mini avatar uploader in room intro when no avatar yet exists ([\element-hq#9479](matrix-org/matrix-react-sdk#9479)). Fixes element-hq#23552.
* Fix threads fallback incorrectly targets root event ([\element-hq#9229](matrix-org/matrix-react-sdk#9229)). Fixes element-hq#23147.
* Align video call icon with banner text ([\element-hq#9460](matrix-org/matrix-react-sdk#9460)).
* Set relations helper when creating event tile context menu ([\element-hq#9253](matrix-org/matrix-react-sdk#9253)). Fixes element-hq#22018.
* Device manager - put client/browser device metadata in correct section ([\element-hq#9447](matrix-org/matrix-react-sdk#9447)). Contributed by @kerryarchibald.
* Update the room unread notification counter when the server changes the value without any related read receipt ([\element-hq#9438](matrix-org/matrix-react-sdk#9438)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Threads O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants