#291 As a user, I want to be able to register my IRC nickname with ease
Opened 7 years ago by jcline. Modified 7 years ago

Overview

In some cases, users will already have a nickname registered and set in
the Fedora Account System. However, many users will not and they need to
be able to register accounts on Freenode easily from Hubs. This in turn
should update their FAS account.

Implementation

This task involves determining the necessary data we need to store and
making the change to the model(s). This may need to happen in the FAS
database rather than Hubs.

Considerations:

  • Handle when user doesn't confirm email account with freenode after 24
    hours of nick registration.

  • Handle when their chosen nickname is taken

Backend

Currently, FAS accounts have an ircnick field in the database. However, this is
not enough information to act on behalf of a registered user. For the specifics
of IRC nick registration on freenode, see https://freenode.net/kb/answer/registration.
We need to be able to authenticate on behalf of the user, and that means storing
their credentials.

User Interface

The UI mock-up is being tracked in issue #283


Is it possible for us to suggest alternate nicknames on the fly when a nick isn't available? Can we detect that as we go? It'd be a much better user experience if so.

If we try the nick and it's already registered, whether or not the owner is online, we will not be able to take the nick, and nickserv will tell us:

-NickServ- This nickname is registered. Please choose a different nickname, or identify via /msg NickServ identify <password>.

If you try to register it anyway (/msg nickserv register $PASS $EMAIL) gives this error message:

-NickServ- $NICK is already registered.

We don't know what's available until we try. It would be seen as an aggression to the nick owner if we tried to register the same nick with a tail (eg, mizmo__). We could suggest and try nicks based on their FAS id and first and last name in FAS, try them out and see which is open?

Login to comment on this ticket.