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

Away presence / mark as read #95

Open
thekad opened this issue Jun 23, 2020 · 5 comments
Open

Away presence / mark as read #95

thekad opened this issue Jun 23, 2020 · 5 comments

Comments

@thekad
Copy link

thekad commented Jun 23, 2020

Description
I believe irslackd doesn't change my presence to online when connecting to it. The end result is all my messages aren't marked as read until I open web/app slack. I use znc in front of irslackd, not sure if the interaction between the two is the problem.

Steps to reproduce

  1. fire up irslackd
  2. put znc in front of it
  3. connect to znc from hexchat and chat thru irslackd

Expected behavior
Expected my presence to change to online and messages to be marked as read for the channels I have joined via irslackd

Log output
unsure how much is needed, but I can see the presence message showing in the logs:

slack_out users.setPresence { presence: 'auto' }

Client setup

  • IRC client and version: hexchat 2.14.3
  • IRC bouncer and version (if any): znc 1.8.0 with controlpanel and chansaver plugins
  • OS: linux
@mbooth101
Copy link

Same apparently even without ZNC in the middle.

@adsr
Copy link
Owner

adsr commented Jun 27, 2020

I think we'd need to call channels.mark etc periodically to mark messages as read. Since there's no way from ircd to tell if a user has read a channel, our options are somewhat limited. Calling *.mark on everything all the time seems bad. I think the best we can do is call *.mark each time a user sends a message on the corresponding conversation.

One other problem is that all the *.mark methods are deprecated in favor of the conversations API, however I don't see a corresponding conversations.mark method in the docs. I'll file a ticket with Slack to see what we're supposed to do now.

@thekad
Copy link
Author

thekad commented Jul 1, 2020

Another option would be to send a *.mark on disconnect or have a /slack read command.

@adsr
Copy link
Owner

adsr commented Jul 1, 2020

Here is the response I got from Slack support.

Adding an equivalent channels.mark method to the Conversations API is not something we have immediate plans for. This is a request we've received from other developers too. There is a discussion about making conversations.mark or a similar method available to developers in the future, however the team is unable to commit to a specific timeline.

I encourage people to email Slack requesting a conversations.mark API method if they would like this feature. We can write a @slack read command very easily, however it won't work in a few months when Slack removes the old API methods.

@fancypantalons
Copy link

fancypantalons commented Apr 5, 2021

Good news, it looks like this has been added!

https://api.slack.com/methods/conversations.mark

My first thought is combining this with a new @ slack command to mark the current channel or all channels as read would make sense. I suspect I could combine that with a client-side hook to then mark channels as read when they're focused by sending the command automatically.

It's not clear to me it's necessary to call mark upon sending a message, though. Doesn't sending a message to a channel automatically fast-forward the read marker? Or does that really need to be done manually by the client?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants