core: Remove away-notify hack for non-spec server
authorShane Synan <digitalcircuit36939@gmail.com>
Fri, 14 Sep 2018 19:54:31 +0000 (14:54 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 16 Sep 2018 20:37:47 +0000 (22:37 +0200)
commitabc82ce2ef192b8aaf96561eb6ab5a6e62d76108
tree3c1f11c8228fb877fb115175297225b41e48a3d8
parent2d6adaf54681e31b6811decc585069233e8854ef
core: Remove away-notify hack for non-spec server

Remove the AutoWho-on-JOIN hack for IRC servers that do not fully
comply with the "away-notify" spec by not sending ":AWAY :message"
when a user marked /away joins a channel.

Advantages:
* Less network traffic (no WHO for every nickname that joins)
* Less likely to expose other bugs where an IRC server returns
  something unexpected causing auto-who output to go in the status
  buffer

Disadvantages:
* On non-compliant IRC servers, Quassel will no longer accurately
  know the away status of someone that joins a channel while /away
* On IRC servers that implement "away-notify" but not
  "extended-join", Quassel will no longer learn the logged-in account
  and realname for someone that joins a channel
  (This will break showing realname, fallback avatar fetching)

Remove all functions related to automatic nickname WHO'ng as they are
no longer needed.  Leaving them in wouldn't cause any issues other
than unnecessary work and code clutter.

Add a comment pointing to this commit in case someone decides to
resurrect this workaround.

See https://ircv3.net/specs/extensions/away-notify-3.1.html
And https://bugs.unrealircd.org/view.php?id=5144
src/core/corenetwork.cpp
src/core/corenetwork.h
src/core/coresessioneventprocessor.cpp