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

Update message preview in room list in regards to Thread #19615

Closed
germain-gg opened this issue Nov 4, 2021 · 15 comments
Closed

Update message preview in room list in regards to Thread #19615

germain-gg opened this issue Nov 4, 2021 · 15 comments
Labels
A-Message-Previews A-Threads O-Occasional Affects or can be seen by some users regularly or most users rarely T-Enhancement Z-Labs

Comments

@germain-gg
Copy link
Contributor

germain-gg commented Nov 4, 2021

Behaviour to be defined by @janogarcia

How does the message preview in the room list works in regards to threads. Does the preview show all new messages, or just the ones from the main timeline?

Screen Shot 2021-11-30 at 13 06 35

@janogarcia
Copy link

@gsouquet Unsure what this issue is about. Could you please add context?

@janogarcia
Copy link

janogarcia commented Nov 30, 2021

@gsouquet I've edited the issue with the description and screenshot you provided me via DM. 👍

@germain-gg
Copy link
Contributor Author

@janogarcia Could you update this?
Not entirely sure how we want to handle this

@germain-gg germain-gg removed their assignment Dec 13, 2021
@janogarcia
Copy link

@gsouquet Sure, I worked on those before leaving for vacation, you can find the relevant mockups and specs here:

Component: Room list
https://www.figma.com/file/T309ztx0sNyOOK6NKVLHsK/Threads?node-id=2730%3A263784

/cc @daniellekirkwood


Snapshot

Only threads that match the same conditions for the “My threads” filter can generate a preview in the room list. A thread reply preview can be shown as long as the latest message in the main timeline is older.

If that’s not easily doable, we can just omit thread reply previews for the Threads P0 Milestone.

Threads – Figma

@daniellekirkwood
Copy link
Contributor

I agree with Jano's appraoch. Including "My Threads" info would be great, but let's see what @gsouquet says about how heavy a lift this is for P0.

Also, do Mobile apps have previews?

@janogarcia
Copy link

I tried to keep a balance between giving visibility to relevant updates across the room (main timeline and threads you are participating in) and overwhelming the user. That's why we are not showing previews for just about any thread in the room (those that you're not participating in).

Plus, that last case could be more aptly addressed with the Thread Events proposal, which could generate a preview in the room list, as those would be posted to the room timeline.

Also, do Mobile apps have previews?

Yes, they do. I'll work on similar proposals for iOS/Android.

@janogarcia janogarcia removed their assignment Dec 13, 2021
@germain-gg
Copy link
Contributor Author

This might be possible under the condition that we can determine from the unsigned field whether the logged in user has participated in a thread or not.
Using the result from the filtered messages API calls would probably be too complex for this.

@janogarcia what happens when you click on the room and the previewed messages is in a thread? Should we proactively open that thread? I feel like it could create quite a jarring experience if folks open that bit and end up not seeing the message they came for

@germain-gg germain-gg added A-Message-Previews T-Enhancement Z-Labs O-Occasional Affects or can be seen by some users regularly or most users rarely X-Blocked labels Dec 14, 2021
@germain-gg
Copy link
Contributor Author

Blocked by matrix-org/synapse#11399

@janogarcia
Copy link

@gsouquet I'd be concerned about a few things if we do so:

  • We don't have a separate/dedicate action for it, so it's impossible to know what's the users's intent (viewing the main timeline vs viewing a thread).
  • We would be replacing the right panel's content, which could be frustrating now that we are about to start keeping track of its state (e.g. imagine opening a thread in Room A, then switching to Room B to copy some text for a reply in Room A's thread, but in the meantime a new message is posted in a different thread in Room A... when you click on the room list for Room A, the thread you originally opened would be replaced with the thread that got the latest reply).
  • You'd get a different experience depending on whether you have room previews enabled or not.

That's what I would recommend, in its current form, to not open the thread panel when clicking on the room list.

We can always revisit this decision and explore other, more advanced, implementations where a separate/dedicated action is available for threads in the room list (e.g. Discord's active threads tree/popover in channel list), but that's out of scope for the P0 milestone.

/cc @daniellekirkwood

@germain-gg
Copy link
Contributor Author

To test against matrix-org/synapse#11577

@germain-gg
Copy link
Contributor Author

@janogarcia heads up, we are not going to be able to do this one as the backend is probably not going to be deployed on time.

But we should be able to have a follow-up to update this. In the interim we have two solutions

  1. We keep the message preview as is. It only displays messages from the main timeline
  2. We display ALL messages, from the main timeline to every threads regardless of your participation

@janogarcia
Copy link

@gsouquet Let's just go with 1. We keep the message preview as is. It only displays messages from the main timeline for now, and then plan to properly handle this as a follow-up action, after the MVP:

We can always revisit this decision and explore other, more advanced, implementations where a separate/dedicated action is available for threads in the room list (e.g. Discord's active threads tree/popover in channel list), but that's out of scope for the P0 milestone.

I've actually explored that idea in detail on Figma and filed it as a post-MVP improvement.

@t3chguy
Copy link
Member

t3chguy commented Jan 31, 2022

One (major imo) issue with 1. is now the room unread count and message previews will fall out of sync, you'll have an unread in a thread but the message preview doesn't show it, it feels broken and then finding the unread is really difficult.

@janogarcia
Copy link

@t3chguy The thing is that there isn't much we can do until we have proper backend support. The explorations I shared on Figma can potentially deal with all those scenarios more elegantly, effectively separating the thread-related updates from those happening in the main timeline but still in a visually compact way.

Partial screenshot — WIP

Threads – Figma

As for the current workarounds, 1. vs 2., none is ideal, both have their fair share of shortcomings. For example, for 2. you would still experience the same issue you described for 1. as soon as the latest message in the room is posted to the main timeline, so there's really not much benefit to it, apart from being noisier. That's why I think it's not worth the effort.

@germain-gg
Copy link
Contributor Author

Closing in favour of #23920 that explains all the requirements for this feature to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Message-Previews A-Threads O-Occasional Affects or can be seen by some users regularly or most users rarely T-Enhancement Z-Labs
Projects
None yet
Development

No branches or pull requests

4 participants