Signal the end of away status to the client after disconnecting #950

Open
opened 2026-10-05 04:55:08 +02:00 by adam · 5 comments
Owner
  1. Connect to a server

  2. Mark yourself as away

  3. Disconnect
    (You are still away according to your client)

  4. Reconnect
    (Once again, you are still away according to your client, but not to the server)

Maybe there's a way to tell the client to cancel the away status without messing anything up?

1. Connect to a server 2. Mark yourself as away 3. Disconnect (You are still away according to your client) 4. Reconnect (Once again, you are still away according to your client, but not to the server) Maybe there's a way to tell the client to cancel the away status without messing anything up? <!-- github-sync-id:653090873 -->
Author
Owner

That depends on your client. Does it let server know that it's away when connecting?

Also, any modules like simple_away used?

That depends on your client. Does it let server know that it's away when connecting? Also, any modules like simple_away used? <!-- github-comment-id:655371131 -->
Author
Owner

That depends on your client. Does it let server know that it's away when connecting?

When I said connect/disconnect, I meant znc connecting and disconnecting from the server. The client has no idea of what's going on.

Also, any modules like simple_away used?

No.

>That depends on your client. Does it let server know that it's away when connecting? When I said connect/disconnect, I meant znc connecting and disconnecting from the server. The client has no idea of what's going on. >Also, any modules like simple_away used? No. <!-- github-comment-id:655375965 -->
Author
Owner

I see. Probably it should send the away status to server instead upon connect.

I see. Probably it should send the away status to server instead upon connect. <!-- github-comment-id:655379944 -->
Author
Owner

That seems like an even better solution.

That seems like an even better solution. <!-- github-comment-id:655380966 -->
Author
Owner

I think this is a bit of a larger problem than just away, there's various states that a client may have which are not reset upon disconnect, or new connection. We can perhaps think about this a bit more holistically.

  • Joined channels, and subsequently the NAMES list (which might indicate to clients nicks that are online), and modes of those channels
  • Prior ISUPPORT state
  • AWAY state
  • MONITOR state (possibly connected to ISUPPORT, however reconnecting to server could leave client thinking it is monitoring something it is not anymore) - ties into #1725
  • User's hostmask (unsure, clients might update from other numerics).

User mode seems to be one of the things which is updated upon disconnect along with capabilities (providing cap-notify was used). Some clients might already have logic to reset some of these states in 001 welcome numeric such as resetting isupport/away state.

I think this is a bit of a larger problem than just away, there's various states that a client may have which are not reset upon disconnect, or new connection. We can perhaps think about this a bit more holistically. - Joined channels, and subsequently the NAMES list (which might indicate to clients nicks that are online), and modes of those channels - Prior ISUPPORT state - AWAY state - MONITOR state (possibly connected to ISUPPORT, however reconnecting to server could leave client thinking it is monitoring something it is not anymore) - ties into #1725 - User's hostmask (unsure, clients might update from other numerics). User mode seems to be one of the things which is updated upon disconnect along with capabilities (providing cap-notify was used). Some clients might already have logic to reset some of these states in 001 welcome numeric such as resetting isupport/away state. <!-- github-comment-id:667689836 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#950