All the TODOs sprinkled throughout the code! Configurable rotation of replay and debug logs. Automatic rotation of replay log along with debug log? Especially given that replay from before startup is not sent. Configurable timestamp format in logs. macOS compiler may need limits.h included in structures.h. "Starting log replay...." followed by "Unable to read replay log file!" even though replay seemed to work? Can memory usage be reduced further? (e.g. better channel struct management) Remaining strncmps are safe but could do with length comparisons too. "Our initial MODE" comparison may need to be more complex. "/topic" response goes to all clients. Connection/login logging - is debug.log sufficient? Do connectcommands happen on reconnect? Are "no such nick/channel" messages as shown in clients correct compared to non-(bla)bouncer clients? Other IRC clients log stuff like "Mar 31 16:58:15 * #foobar :No topic is set." - can/should we? Connecting from irssi triggers doautoreplay() from "USER received" in message.c twice. Use the line number based replay log reading method from lastspoke rather than the inefficient re-read + line offset method in time replays? (And potentially remove a bunch of code re-use.) What happens with lastspoke when there was no lastspoke time? Potentially opt to fall back on time based. And/or add lastspoke + time? Is it possible to periodically reduce fdmax if higher numbered clients are gone? Debug log ("checking client socket out of ") gets busy after fdmax gets relatively high, and might be possible to avoid unnecessary looping. Combine custom BLABOUNCER commands with stdin commands (or ditch stdin?). KICK not handled (temporary work in kick-support-20230409.diff) KICK: Sun Apr 9 03:35:31 2023: BOUNCER-SERVER RECEIVED: ':bbnick!bbuser@2a06:5844:e:551:0:0:0:1d KICK #bla12 bbounce2 :bbnick Sun Apr 9 03:35:31 2023: Server KICK: nick is NOT ours ('bbnick' vs 'bbounce2'). PART: Sun Apr 9 04:16:09 2023: BOUNCER-SERVER RECEIVED: ':bbounce2!l_bratch@2a06:5844:e:551:0:0:0:1d PART #bla12 :Leaving Sun Apr 9 04:16:09 2023: Server PART: nick is ours ('bbounce2' vs 'bbounce2'). ^^Reminder, joining channels (and getting the nick list) seems to be broken right now (TG reminder). Crash when requesting 30 hour replay. Users in channel not being populated observed once - 27/07/2023 #pipewire on irc.oftc.net. (and again 14/09/2023) (related to?): 11/06/2023 01:00:41 "processrawstring(): combined truncated message '2131365056' is too long (1006 out of a maximum of 512 characters), clearing it." seen during long/truncated/recombined 353 RPL_NAMREPLY #winehq on irc.libera.chat. Debug log spam when disconnected from server? Automatic nick reclaim. Related: nickchangecommands = {} or similar in blabouncer.conf to do for example automatic nickserv (re)identify on nick change. Are WALLOPS logged & replayed?