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 always-visible read receipts to direct message conversations #25890

Open
2 tasks
alya opened this issue Jun 5, 2023 · 4 comments
Open
2 tasks

Add always-visible read receipts to direct message conversations #25890

alya opened this issue Jun 5, 2023 · 4 comments
Labels
area: message feed (UI) Buttons/UI directly in the message feed (not popovers, etc.) new feature A proposed new feature for the product priority: high

Comments

@alya
Copy link
Contributor

alya commented Jun 5, 2023

As discussed on CZO, some users would find it helpful to have immediately visible read receipts in direct message conversations. (We already have read receipts that are accessible via the message menu.)

This is commonly done in other apps with an indicator near the message timestamp. To implement this feature, we should do the following in direct message conversations only (group or 1:1 DMs):

  • Add a * to the end of the timestamp if the message has not been read by any conversation participants. No * should be shown if at least on participant has read it. We'll need to make sure the time stamp area has enough space (in all languages).
  • On a new line in the timestamp tooltip:
    • This message has not been read by anyone yet.
    • This message has been read by username1, username2, username3.

This feature should be documented on https://zulip.com/help/read-receipts. This can be done as an immediate follow-up.

@alya alya added help wanted priority: high new feature A proposed new feature for the product area: message feed (UI) Buttons/UI directly in the message feed (not popovers, etc.) labels Jun 5, 2023
@timabbott
Copy link
Sponsor Member

This issue lays out a potential UX/design for always-visible read receipts in DMs, but before it can be worked on, we will also need to design a data synchronization model for them, as the current read receipts model only does work when someone clicks the button to ask the server who has read the message, and this design would require a notification to the other users every time a direct message is marked as read.

To note a few things that will be required at the API layer to do that:

  • We need to design a data format for continuously updated read receipt data, both a version attached to Message rows as well as new events for doing real-time updates of the data. (The existing "all read receipts for this message" format may or may not be directly suitable).
  • We will need to add hooks in every code path that can mark messages as read to send the new events when direct messages are marked as read. Likely completing Deprecate and remove legacy unread endpoints #23598 would be a useful preparatory step here to reduce the number of code paths involved.
  • We need to add data structures in at least the web app for storing these data structures and live-updating them.

@andreasoc
Copy link

any update?thanks!

@timabbott
Copy link
Sponsor Member

No update -- this was not prioritized for 8.0.

@alya
Copy link
Contributor Author

alya commented Feb 26, 2024

As noted on CZO, we may actually want to show * when at least one user hasn't read the message (not when nobody has read it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: message feed (UI) Buttons/UI directly in the message feed (not popovers, etc.) new feature A proposed new feature for the product priority: high
Projects
None yet
Development

No branches or pull requests

3 participants