jaraco / jaraco/irc

[AIO] Connection real_nickname must not be set before registration

Open
#190 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
421
Forks
90
PR merge metrics
No merged PRs in 30d

Description

Some networks (IRCnet in particular) may reserve nicknames temporarily when you disconnect. The network will send `437 ERR_UNAVAILRESOURCE` during connection registration which means our real real nickname is not yet actually set.

Having it an empty string or `None` would help detecting this issue _during_ registration that our desired nickname is not available right now and the downstream implementation can decide what to do with this information, like use a temporary nickname and a timer to retry the real nickname later.

Without any subclassing, currently it is required to wait for 001 before believing `real_nickname` which will add unnecessary complexity.

Contributor guide

No contributing guide indexed for this repository

Research direction

Trace the connection-registration handling for ERR_UNAVAILRESOURCE (437), real_nickname, and the 001 welcome event. Verify the current state transitions and add or update tests so real_nickname remains empty or None until registration establishes the desired nickname, including the temporary-unavailable case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.