Separate the DNS resolution logic from the TCP communication logic
All the resolve things should not be in the TCPSocketHandler class but in a separate one. It could then be reused somewhere else (for example to resolve the XMPP server's hostname, for the WEBIRC feature)
(from redmine: created on 2015-10-12, closed on 2015-10-15, blocks #3135 (closed))
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information