aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/degesch.c b/degesch.c
index 58b68a4..ba7d029 100644
--- a/degesch.c
+++ b/degesch.c
@@ -1003,13 +1003,6 @@ struct server
// TODO: an output queue to prevent excess floods (this will be needed
// especially for away status polling)
- // XXX: there can be buffers for non-existent users
- // TODO: initialize key_strxfrm according to server properties;
- // note that collisions may arise on reconnecting
- // TODO: when disconnected, get rid of all users everywhere;
- // maybe also broadcast all buffers about the disconnection event
- // TODO: when getting connected again, rejoin all current channels
-
struct buffer *buffer; ///< The buffer for this server
struct str_map irc_users; ///< IRC user data
@@ -3905,6 +3898,9 @@ irc_process_numeric (struct server *s,
case IRC_RPL_ISUPPORT:
// TODO: parse this, mainly PREFIX; see
// http://www.irc.org/tech_docs/draft-brocklesby-irc-isupport-03.txt
+
+ // TODO: initialize key_strxfrm according to server properties;
+ // note that collisions may arise on reconnecting
break;
case IRC_RPL_NAMREPLY:
// TODO: find the channel and if found, push nicks to names_buf
@@ -3914,7 +3910,7 @@ irc_process_numeric (struct server *s,
// however take care to combine channel user modes
break;
case IRC_ERR_NICKNAMEINUSE:
- // TODO: if not connected yet (irc_ready), use a different nick;
+ // TODO: if (state == IRC_CONNECTED), use a different nick;
// either use a number suffix, or accept commas in "nickname" config
break;
}
@@ -3955,6 +3951,8 @@ irc_process_message (const struct irc_message *msg,
const char *autojoin = get_config_string (s->ctx, "server.autojoin");
if (autojoin)
irc_send (s, "JOIN :%s", autojoin);
+
+ // TODO: rejoin all current channels (mark those we've left manually?)
}
struct irc_handler key = { .name = msg->command };