UHNAMES not working properly on new connection from client #306

Closed
opened 2026-10-05 04:12:00 +02:00 by adam · 4 comments
Owner

When I connect with my client (mIRC) to ZNC I see that it outputs the NAMES for each channel in NAMESX-format. However, it does not output in UHNAMES-format eventhough the client supports it (I see it sending it in debug with PROTOCTL, it sends one for NAMESX and a new one for UHNAMES).

Once connected, however, if I /hop a channel or I am already connected while ZNC jumps servers, then I get the correct UHNAMES-formatted NAMES output.

This almost looks like some kind of race condition between the client sending its PROTOCTL capabilities upon initial connection and ZNC already sending its NAMES output to the client.

When I connect with my client (mIRC) to ZNC I see that it outputs the NAMES for each channel in NAMESX-format. However, it does not output in UHNAMES-format eventhough the client supports it (I see it sending it in debug with PROTOCTL, it sends one for NAMESX and a new one for UHNAMES). Once connected, however, if I /hop a channel or I am already connected while ZNC jumps servers, then I get the correct UHNAMES-formatted NAMES output. This almost looks like some kind of race condition between the client sending its PROTOCTL capabilities upon initial connection and ZNC already sending its NAMES output to the client. <!-- github-sync-id:29022379 -->
adam closed this issue 2026-10-05 04:12:00 +02:00
Author
Owner

The race is: mIRC sends the PROTOCOL command and at the same time, ZNC already sends the channel joins.

This is why this can be requested with CAP REQ userhost-in-names before login. That way, there is no race.

The race is: mIRC sends the PROTOCOL command and at the same time, ZNC already sends the channel joins. This is why this can be requested with CAP REQ userhost-in-names before login. That way, there is no race. <!-- github-comment-id:37098679 -->
Author
Owner

Oh, thanks for the tip, a little pre-logon script is in order here then. But howcome it does send NAMESX-formatted output?

Edit: Nevermind, it seems that mIRC sends a CAP request for multi-prefix.

Oh, thanks for the tip, a little pre-logon script is in order here then. But howcome it does send NAMESX-formatted output? Edit: Nevermind, it seems that mIRC sends a CAP request for multi-prefix. <!-- github-comment-id:37099788 -->
Author
Owner

I don't know, perhaps mIRC requests that one per CAP and doesn't to so for userhost-in-names / UHNAMES?

I don't know, perhaps mIRC requests that one per CAP and doesn't to so for userhost-in-names / UHNAMES? <!-- github-comment-id:37100100 -->
Author
Owner

Yes, that was exactly it.

Yes, that was exactly it. <!-- github-comment-id:37100126 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#306