Skip to content

Add Private Messages side panel #1197

Open
@neiljp

Description

@neiljp

This feature would provide the equivalent functionality to the web-app where clicking on the private messages button opens a drop-down.

However, in our case it seems cleaner (certainly as a first step) to integrate this as an alternative side panel to the streams/topics area. In this situation we likely need to add a key to switch back to the streams list, so may likely take over S for this purpose.

This issue comprises multiple steps, which could be resolved in one PR but may be more appropriate to merge over multiple PRs or cherry-picking commits from the one PR.

Possible steps:

  • Add Stream messages total in top left; the web app does not have this, but this provides a great location to position a S (or similar) key when the PM side panel feature is fully added. This would need to handle the same intricacies as other totals in terms of muted elements.
  • Generate a similar widget to the stream panel with a list of recent conversations with unread totals; buttons in that panel would load conversations a little like from the user list but without opening compose and would also need to cope with group PMs (see Implement buddy list like in zulip-mobile. #220/Views/BuddyView: Introduce BuddyView to show Recent PMs and Group PMs. #315)
  • Switch to that widget when pressing P (shift p), NOT narrowing to PMs and focusing on a message; at the same time enable S (shift s) for showing the stream list

There are various nuances to consider, such as preserving state in lists between toggling, whether we consider stream+topic as a state (ie. S returns to topic list if previously in it)

Possible followup would be to enable the p key for what I believe we currently do for P (needs checking), ie. go to next unread PM. That would involve focusing on the message list, rather than switching the left panel. We could also consider using s for 'next unread stream message' and enable a 'streams narrow' (no PMs). This is similar but subtly different to the existing n key (for next unread topic), a feature which needs a little fine tuning eg. #442. Except for perhaps the first of these, these follow-ups would definitely benefit from further discussion.

I most recently proposed this feature in #zulip-terminal > Streams/PMs view toggle #T1197, where discussion may continue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GSoCPossible GSoC project componentarea: UIGeneral user interface updatehigh priorityshould be done as soon as possiblemissing feature: userA missing feature for all users, present in another Zulip clientversion parity: <=2.1

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions