ZeeZide / Shrugs

Public Information about the Shrugs App

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mark as read button doesn't work under certain conditions

venkatasg opened this issue · comments

I have noticed that sometimes the 'Mark as Read' tick in the top right doesn't mark all conversations in the current channel as read even upon multiple clicks (the unread counter on the channel remains unchanged even after clicking). This might be hard to replicate but I think this is the series of steps to reproduce the issue:

  1. Have the app open on a certain channel
  2. Switch away from the app but don't close it.
  3. When you come back and there are unread messages, clicking on 'Mark as Read' doesn't work.
  4. If you switch to a different channel, and then returning to the earlier channel, now 'Mark as Read' works.

This is usually due to unread threads (you are subscribed to). The read button only marks the conversation as read, not the contained threads. But the unread count in the sidebar reflects both.

Discoverability of unread threads is awful right now, I know. I have plans for that (jump to next unread thread action, a popover triggered by the unread indicator button showing what exactly is unread).

I just encountered the issue without threads - all unread messages were in the channel (not as a thread).

Again my steps to reproduce this are probably not right. I just switched back again and 'Mark as Read' worked as expected.

Is that with an XOXS or XOXP token? (using the advanced setup or the regular flow)

Regular setup.

I'm currently working on streamlining all that (I also had to disable a lot of memory optimizations because that was resulting in incorrect unread counts). That should eventually fix that.

(right now I use pretty complicated code to track unreads based on what Slack is reporting etc, in the future unread will only be derived from the local state. in this case I suppose that it is marked unread locally, but Slack reports the unread count from the server (which XOXP tokens can't modify)).