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

Add Recent conversations view #315

Open
alya opened this issue Oct 4, 2023 · 3 comments
Open

Add Recent conversations view #315

alya opened this issue Oct 4, 2023 · 3 comments
Labels
a-home The home screens of the app; finding and starting conversations beta feedback Things beta users have specifically asked for

Comments

@alya
Copy link
Collaborator

alya commented Oct 4, 2023

Many users find the Recent conversations view helpful in the web app, and it would be a useful feature in the mobile app as well.

Work on this will likely happen after we've implemented various other functionality, such as a navigation system we are happy with where this view can be added.

CZO discussion

@gnprice gnprice added this to the Post-launch milestone Oct 4, 2023
@gnprice gnprice added the a-home The home screens of the app; finding and starting conversations label Oct 4, 2023
@chrisbobbe chrisbobbe added the beta feedback Things beta users have specifically asked for label Dec 12, 2024
@chrisbobbe
Copy link
Collaborator

We've had another request for this as beta feedback: https://chat.zulip.org/#narrow/channel/48-mobile/topic/Recent.20conversations/near/2000412

@chrisbobbe
Copy link
Collaborator

More beta feedback where this seems desired: https://chat.zulip.org/#narrow/channel/48-mobile/topic/Recent.20conversations/near/2067849

@gnprice
Copy link
Member

gnprice commented Mar 27, 2025

Tim and I discussed this in the office yesterday. The current plan for when we go to implement this is:

  • We'll try doing it with no API changes, by having the app just fetch the latest 1000 messages and then compute the "Recent conversations" view based on those. Effectively it'll take the same strategy as the web app has always taken for that view, just with fewer messages.
  • There'll also be a "load more" button at the bottom of the list, causing the app to fetch another 1000 messages, etc.
  • The view won't show a participants list — the mobile format is too crowded for that anyway. As a result, loading more messages can never change the items that are already in the list, making it fit well with a "load more" at the bottom.
    • (Well, it can if it results in finding more old unreads in the later conversations. That's only possible if you load past your 50,000 newest unreads, so in particular past your 50,000 newest messages. Seems OK that in that case the unread counts in the existing list items can start increasing.)
  • Also on the subject of how to fit the design into the space: the channel name, topic, and unread count seem pretty indispensable, and that's already enough to make it crowded. Perhaps channel above topic, as two lines, and then unread count off on the right but vertically centered (so that it's aligned with the pair of those, not with either one).
    • Also unread icon and probably unmuted/followed icon, like in web. But try leaving out the timestamp, to save space.

I'm not 100% confident that showing "Recent conversations" based on just the 1000 latest messages will be a good UX. But we can try it out and see. If we end up needing to do more to make it work, this experiment will have cost no effort in API design and very little in data fetching; almost all the work will be in logic that we'll still equally need if we go on to implement the feature atop some other API variation instead.

If something like this does work well, a possible enhancement involving a fairly small API change:

  • We could have an API feature (perhaps just a flag on the get-messages endpoint) to get a list of very stripped-down message objects: just ID, destination, and perhaps sender, timestamp, and/or flags; in particular no content. That's everything this view would need; and because it'd be a lot less data it might enable us to fetch a larger set of messages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-home The home screens of the app; finding and starting conversations beta feedback Things beta users have specifically asked for
Projects
Status: No status
Development

No branches or pull requests

3 participants