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

msglist/compose: In interleaved views, anticipate the right "destination narrow" for a reply #493

Open
chrisbobbe opened this issue Jan 29, 2024 · 2 comments
Labels
a-compose Compose box, autocomplete, attaching files/images a-msglist The message-list screen, except what's label:a-content
Milestone

Comments

@chrisbobbe
Copy link
Collaborator

chrisbobbe commented Jan 29, 2024

Contrast with #494, which is about letting the user specify the destination, which is different from anticipating the right one.


Users sometimes want to reply directly from an interleaved view, like a whole-stream view or the "All messages" view.

If the user hasn't already chosen a destination narrow by interacting with the compose box, we should anticipate what destination they might have in mind, and set the compose box accordingly, for example by prefilling the topic input.

A "destination narrow" is a conversation, and every message is in a conversation. So as long as there is at least one message in the interleaved view, there's at least one destination narrow that we might anticipate.

As a concrete example, we could store a pointer to the last message that's visible onscreen, if any, and update it as necessary. (Reasons for updating it include changes in scroll position; changes in which messages are included in the list; changes in the height of onscreen messages, whether from message edits or display-setting changes; there may be more reasons.) Then when we render the compose box, except when the user is already composing, we check that pointer and set the compose box to that message's conversation, by prefilling the topic input (for stream messages) or the DM recipients (for DMs).


In zulip-mobile, we used to do this in stream views by just choosing the latest message in the window of messages we had loaded. That message was frequently offscreen, and confusion would ensue when someone sent a message with an unintended topic. We addressed that by just never auto-filling the topic input in whole-stream views—

—but that caused unhappiness; people understandably felt it was too effortful to specify the right topic, when the right topic should have been obvious:

@chrisbobbe chrisbobbe added a-msglist The message-list screen, except what's label:a-content a-compose Compose box, autocomplete, attaching files/images labels Jan 29, 2024
@chrisbobbe
Copy link
Collaborator Author

chrisbobbe commented Jan 29, 2024

As with #494, if we don't think we'll ever have a compose box that lets you select DM recipients, we might narrow this issue's scope so that we're only helpful in the case of stream-message replies. Questions about how DM replies work shouldn't prevent us from being helpful in whole-stream views, anyway, even if we can't easily settle how "All messages" should work.

@gnprice
Copy link
Member

gnprice commented May 9, 2024

@gnprice gnprice added this to the Launch milestone May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-compose Compose box, autocomplete, attaching files/images a-msglist The message-list screen, except what's label:a-content
Projects
Status: No status
Development

No branches or pull requests

2 participants