# # ChangeLog for trunk/downstream.go in code # # Generated by Trac 1.6 # Jun 8, 2025, 7:01:35 PM Sun, 10 Oct 2021 10:05:41 GMT hubert [618] * trunk/downstream.go (modified) Correctly send back PRIVMSGs and NOTICEs to self Sun, 10 Oct 2021 10:05:41 GMT hubert [617] * trunk/downstream.go (modified) Send back TAGMSGs to self Sun, 10 Oct 2021 10:05:40 GMT hubert [616] * trunk/downstream.go (modified) Dismiss TAGMSGs directed to BouncerServ Wed, 06 Oct 2021 09:50:12 GMT contact [609] * trunk/downstream.go (modified) Add WHOIS reply for BouncerServ Sun, 19 Sep 2021 14:50:47 GMT hubert [590] * trunk/downstream.go (modified) Allow CAP negotiation to happen with CAP REQ See ... Mon, 13 Sep 2021 09:36:25 GMT contact [586] * trunk/downstream.go (modified) Send empty history for service Fixes error when fetching chat ... Mon, 13 Sep 2021 09:25:38 GMT contact [585] * trunk/downstream.go (modified) Don't require upstream to be connected for CHATHISTORY Closes: ... Mon, 13 Sep 2021 09:14:47 GMT contact [584] * trunk/downstream.go (modified) Split unmarshalEntity into two functions Some command handlers need ... Fri, 09 Jul 2021 20:48:58 GMT contact [580] * trunk/downstream.go (modified) Pass-through CLIENTTAGDENY in ISUPPORT Fri, 25 Jun 2021 18:33:13 GMT contact [568] * trunk/db.go (modified) * trunk/db_sqlite.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add per-user realname setting This allows users to set a default ... Wed, 23 Jun 2021 17:54:22 GMT contact [565] * trunk/downstream.go (modified) Disallow '$' in nicks Wed, 23 Jun 2021 17:23:09 GMT contact [563] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Allow admins to broadcast message to all bouncer users Typically ... Wed, 23 Jun 2021 16:17:30 GMT contact [562] * trunk/downstream.go (modified) Unify downstream PRIVMSG and NOTICE handling We were doing some ... Tue, 15 Jun 2021 13:48:10 GMT contact [560] * trunk/downstream.go (modified) Add support for utf8-only Mon, 14 Jun 2021 19:44:38 GMT contact [559] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for account-tag Thu, 10 Jun 2021 10:16:33 GMT contact [555] * trunk/downstream.go (modified) Don't suggest users to /motd in multi-upstream mode Thu, 10 Jun 2021 09:24:10 GMT contact [554] * trunk/downstream.go (modified) Make user MODE commands fail in multi-upstream mode References: ... Thu, 10 Jun 2021 09:17:00 GMT greg [553] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward user mode changes in single-upstream mode References: ... Wed, 09 Jun 2021 19:29:36 GMT greg [552] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward MOTD messages downstream The first MOTD upon connection is ... Sat, 05 Jun 2021 10:38:52 GMT contact [551] * trunk/downstream.go (modified) Add downstreamConn.SendBatch helper Fri, 04 Jun 2021 09:27:59 GMT contact [550] * trunk/downstream.go (modified) Prune detached channels from CHATHISTORY TARGETS Wed, 02 Jun 2021 18:32:11 GMT contact [549] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) Implement CHATHISTORY TARGETS References: ... Fri, 28 May 2021 09:15:15 GMT contact [547] * trunk/downstream.go (modified) Forward unknown commands to upstream in single-upstream mode Wed, 26 May 2021 09:23:09 GMT contact [545] * trunk/downstream.go (modified) Reject JOIN with invalid channel names This prevents us from ... Wed, 26 May 2021 08:51:02 GMT contact [542] * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/db_sqlite.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Allow networks to be disabled Tue, 25 May 2021 18:24:45 GMT contact [540] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for IRCv3 setname References: ... Tue, 25 May 2021 14:56:38 GMT contact [537] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) Vendor BATCH bouncer-networks type And add the prefix throughout ... Tue, 25 May 2021 14:42:51 GMT contact [535] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) * trunk/user.go (modified) Introduce the soju.im/bouncer-networks-notify capability Tue, 25 May 2021 14:42:51 GMT contact [534] * trunk/downstream.go (modified) Send network settings in LISTNETWORKS Tue, 25 May 2021 14:42:51 GMT contact [533] * trunk/doc/ext/bouncer-networks.md (modified) * trunk/downstream.go (modified) Add pass to bouncer network attributes Tue, 25 May 2021 14:42:51 GMT contact [532] * trunk/doc/ext (added) * trunk/doc/ext/bouncer-networks.md (added) * trunk/downstream.go (modified) * trunk/user.go (modified) Implement the soju.im/bouncer-networks extension Mon, 24 May 2021 11:31:24 GMT philipk [529] * trunk/downstream.go (modified) Directly return self-messages to user in multi-upstream mode Mon, 24 May 2021 09:41:04 GMT contact [528] * trunk/downstream.go (modified) Pass-through the BOT ISUPPORT token References: ... Fri, 21 May 2021 08:03:39 GMT hubert [521] * trunk/downstream.go (modified) Fix CAP LIST listing disabled capabilities Thu, 20 May 2021 09:13:14 GMT contact [520] * trunk/downstream.go (modified) Relay self-WHO/WHOIS in single-upstream mode In multi-upstream ... Tue, 18 May 2021 08:44:10 GMT hubert [516] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) Implement CHATHISTORY BETWEEN Tue, 11 May 2021 10:42:12 GMT contact [515] * trunk/downstream.go (modified) * trunk/msgstore_fs.go (modified) Add more context to chathistory errors Fri, 30 Apr 2021 10:17:23 GMT hubert [512] * trunk/downstream.go (modified) Don't directly reply to network-specific NICK The NICK must only ... Fri, 30 Apr 2021 10:10:49 GMT hubert [511] * trunk/downstream.go (modified) Handle casemapping on BouncerServ Tue, 13 Apr 2021 17:11:05 GMT contact [499] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Relay detached channel backlog as BouncerServ NOTICE if necessary ... Tue, 13 Apr 2021 15:50:03 GMT contact [496] * trunk/downstream.go (modified) Skip backlog logic in downstreamConn.welcome on chathistory Tue, 13 Apr 2021 15:49:37 GMT contact [495] * trunk/downstream.go (modified) * trunk/user.go (modified) Take msg ID in sendTargetBacklog Wed, 31 Mar 2021 15:57:24 GMT contact [488] * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) Use BARE for internal message IDs This allows to have shorter and ... Tue, 30 Mar 2021 10:28:45 GMT contact [486] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Make NickServ detection casemapping-aware Mon, 29 Mar 2021 15:49:50 GMT contact [485] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce deliveredStore This hides the double-map complexity ... Mon, 29 Mar 2021 15:07:39 GMT contact [484] * trunk/downstream.go (modified) Ensure targets are case-mapped before being passed to messageStore ... Mon, 29 Mar 2021 14:55:57 GMT contact [482] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Simplify network.offlineClients Replace it with a list of all ... Fri, 26 Mar 2021 10:21:14 GMT contact [480] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce deliveredClientMap Adds more semantics to ... Fri, 26 Mar 2021 09:39:52 GMT hubert [479] * trunk/downstream.go (modified) Fix CHATHISTORY target not being casemapped Wed, 24 Mar 2021 17:15:52 GMT hubert [478] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Implement casemapping TL;DR: supports for casemapping, now logs are ... Tue, 16 Mar 2021 08:13:46 GMT contact [464] * trunk/downstream.go (modified) Improve ERR_NOSUCHCHANNEL error messages References: ... Mon, 15 Mar 2021 22:41:37 GMT contact [463] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Passthrough some ISUPPORT tokens Mon, 15 Mar 2021 22:08:19 GMT contact [461] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Use upstream ISUPPORT map for NETWORK Fri, 05 Mar 2021 08:53:59 GMT hubert [456] * trunk/downstream.go (modified) Send correct CHATHISTORY error messages Wed, 10 Feb 2021 12:48:41 GMT contact [452] * trunk/downstream.go (modified) Introduce downstreamConn.sendTargetBacklog Wed, 10 Feb 2021 10:31:34 GMT contact [451] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Rename network.history to network.delivered "History" is ... Wed, 10 Feb 2021 09:23:51 GMT contact [450] * trunk/downstream.go (modified) * trunk/user.go (modified) Rename sendNetworkHistory to sendNetworkBacklog "History" is a ... Sun, 31 Jan 2021 21:18:51 GMT hubert [448] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Request invite-notify to upstreams ... and do not forward INVITEs ... Fri, 22 Jan 2021 11:00:38 GMT contact [447] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward ISUPPORT NETWORK token Fri, 22 Jan 2021 10:55:06 GMT contact [446] * trunk/downstream.go (modified) Send RPL_ISUPPORT CHATHISTORY token Mon, 04 Jan 2021 16:17:35 GMT contact [441] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) Make chat history operations optional in messageStore Some stores ... Mon, 04 Jan 2021 15:26:30 GMT contact [440] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) Add store-agnostic message ID format Allow to query the network ID ... Fri, 25 Dec 2020 12:37:15 GMT hubert [438] * trunk/downstream.go (modified) Improve dc.authenticate()'s error messages Fri, 25 Dec 2020 12:35:20 GMT hubert [437] * trunk/downstream.go (modified) * trunk/user.go (modified) Advertise all caps, CAP DEL them on registration ... so that the ... Mon, 14 Dec 2020 19:54:02 GMT delthas [435] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add customizable auto-detaching, auto-reattaching, relaying. This ... Tue, 24 Nov 2020 13:25:19 GMT hubert [431] * trunk/downstream.go (modified) Uphold echo-message even with BouncerServ Fixes ... Tue, 24 Nov 2020 13:22:39 GMT contact [430] * trunk/downstream.go (modified) Fix nickname in ERR_ERRONEOUSNICKNAME Tue, 24 Nov 2020 13:22:18 GMT hubert [429] * trunk/downstream.go (modified) Prevent downstreams from changing their nick to service's This ... Tue, 24 Nov 2020 13:13:24 GMT contact [428] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Implement delivery receipts via PING messages This patch implements ... Fri, 20 Nov 2020 10:37:43 GMT hubert [427] * trunk/downstream.go (modified) Don't send TAGMSG to upstreams that don't support it TAGMSG are (in ... Sun, 25 Oct 2020 16:47:38 GMT contact [423] * trunk/downstream.go (modified) * trunk/logger.go (deleted) * trunk/msgstore.go (added) * trunk/upstream.go (modified) * trunk/user.go (modified) Add message store abstraction Introduce a messageStore type, which ... Sat, 24 Oct 2020 13:14:23 GMT contact [421] * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Switch DB API to user IDs This commit changes the Network schema to ... Thu, 10 Sep 2020 22:10:58 GMT delthas [419] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for the extended-join capability This simple ... Wed, 26 Aug 2020 13:28:10 GMT contact [413] * trunk/downstream.go (modified) Fix panic in downstreamConn.sendNetworkHistory This panic happens ... Wed, 26 Aug 2020 13:18:57 GMT contact [412] * trunk/downstream.go (modified) Fix downstream PING argument handling The PONG message should have ... Tue, 25 Aug 2020 09:49:22 GMT contact [411] * trunk/downstream.go (modified) Allow '/' in nickname This allows to specify a network name in the ... Thu, 20 Aug 2020 18:05:01 GMT contact [409] * trunk/downstream.go (modified) * trunk/ring.go (deleted) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Nuke in-memory ring buffer Instead, always read chat history from ... Thu, 20 Aug 2020 15:38:57 GMT contact [406] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Replace networkHistory.offlineClients with clients Keep the ring ... Thu, 20 Aug 2020 08:00:58 GMT hubert [404] * trunk/downstream.go (modified) Reject downstream NICK with illegal characters This should avoid ... Thu, 20 Aug 2020 07:13:38 GMT hubert [401] * trunk/downstream.go (modified) More explicit error message on INVITE with the wrong network Wed, 19 Aug 2020 21:57:25 GMT hubert [400] * trunk/downstream.go (modified) More explicit error message on KICK with the wrong network Wed, 19 Aug 2020 17:42:33 GMT contact [398] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Implement rate limiting for upstream messages Allow up to 10 ... Tue, 11 Aug 2020 13:58:50 GMT contact [387] * trunk/downstream.go (modified) * trunk/logger.go (modified) Extract history loading into functions These will get re-used for ... Wed, 22 Jul 2020 10:16:01 GMT contact [362] * trunk/downstream.go (modified) * trunk/logger.go (modified) go fmt Wed, 15 Jul 2020 15:47:57 GMT contact [360] * trunk/downstream.go (modified) * trunk/logger.go (modified) Implement CHATHISTORY AFTER References: ... Mon, 06 Jul 2020 16:13:40 GMT contact [354] * trunk/downstream.go (modified) Strip network name from nickname when auto-saving network Wed, 01 Jul 2020 15:02:37 GMT contact [347] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) Add RemoteAddr to ircConn interface Mon, 29 Jun 2020 16:09:48 GMT contact [343] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Reply to WHO BouncerServ Closes: https://todo.sr.ht/~emersion/soju/75 Wed, 24 Jun 2020 21:02:46 GMT hubert [340] * trunk/downstream.go (modified) Don't save corrupted NickServ credentials soju saved most NickServ ... Sun, 07 Jun 2020 12:13:46 GMT contact [323] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/conn.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Add support for WebSocket connections WebSocket connections allow ... Sat, 06 Jun 2020 10:52:22 GMT contact [322] * trunk/downstream.go (modified) Fail auth on empty password in DB Fri, 05 Jun 2020 21:50:31 GMT delthas [319] * trunk/downstream.go (modified) * trunk/logger.go (modified) * trunk/server.go (modified) Add support for downstream CHATHISTORY This adds support for the ... Thu, 04 Jun 2020 15:27:57 GMT contact [315] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Introduce ircConn This interface will allow a conn to be backed by ... Tue, 02 Jun 2020 09:24:22 GMT fox.cpp [307] * trunk/db.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Implement upstream SASL EXTERNAL support Closes: ... Mon, 01 Jun 2020 16:57:20 GMT hubert.hirtz [306] * trunk/downstream.go (modified) Send the full user mask in RPL_LOGGEDIN As per the spec [1]: ... Wed, 27 May 2020 21:48:08 GMT delthas [303] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add support for TAGMSG and client message tags Previously we ... Wed, 27 May 2020 21:46:31 GMT delthas [301] * trunk/downstream.go (modified) Send a label with all messages sent from downstream This is ... Wed, 27 May 2020 21:44:38 GMT delthas [299] * trunk/downstream.go (modified) Add support for downstream WHOIS nick/network nick/network Many IRC ... Wed, 27 May 2020 21:43:46 GMT delthas [298] * trunk/downstream.go (modified) Add support for downstream LIST to a single upstream Sometimes, ... Wed, 27 May 2020 21:43:04 GMT delthas [297] * trunk/downstream.go (modified) Add support for downstream NICK to a single upstream Users often ...