-
Notifications
You must be signed in to change notification settings - Fork 70
Closed
Description
RFC2812 defines prefix as follows:
prefix = servername / ( nickname [ [ "!" user ] "@" host ] )
By this syntax, a prefix can be proven to be a nick if it contains either '!' or '@'. Otherwise, it is ambigious.
However, libtiny_wire treats any prefix not containing a '!' as a server name, and tiny replaces server names with the connection connection server. This leads to situations where all history-playback from a bouncer like soju ends up replacing all nicks with the server name.
For non-zero prefixes, a simple struct { name, user, host } would probably make the most sense, removing the distinction. Empty prefixes could then be communicated separately, either through an option or an empty Server enum value, for when tiny needs to add the server name itself in the UI.