# # ChangeLog for trunk/user.go in code # # Generated by Trac 1.6 # Jun 8, 2025, 5:10:07 PM Thu, 02 Dec 2021 10:15:51 GMT contact [734] * trunk/server.go (modified) * trunk/user.go (modified) Add soju_upstream_connect_errors_total metric Thu, 02 Dec 2021 10:03:56 GMT contact [733] * trunk/user.go (modified) Fix upstream gauge metric It wasn't decremented on error. While at ... Thu, 02 Dec 2021 09:53:43 GMT contact [732] * trunk/upstream.go (modified) * trunk/user.go (modified) Add context to connectToUpstream Wed, 01 Dec 2021 14:57:54 GMT contact [731] * trunk/user.go (modified) Validate address in user.checkNetwork Sun, 21 Nov 2021 15:10:54 GMT contact [724] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for post-connection-registration upstream SASL auth ... Fri, 19 Nov 2021 18:21:48 GMT contact [722] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Use RPL_LOGGEDIN/OUT to mirror upstream status This will allow ... Wed, 17 Nov 2021 14:58:19 GMT contact [710] * trunk/server.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Add number of upstream connections to metrics Wed, 17 Nov 2021 14:07:58 GMT contact [705] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add per-user IP addresses The new upstream-user-ip directive allows ... Wed, 17 Nov 2021 13:54:03 GMT contact [704] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/user.go (modified) Add timeout for downstream connection registration Wed, 17 Nov 2021 11:33:30 GMT contact [701] * trunk/downstream.go (modified) * trunk/user.go (modified) Add context arg to downstreamConn.welcome() Wed, 17 Nov 2021 10:22:26 GMT contact [693] * trunk/downstream.go (modified) * trunk/user.go (modified) Set isMultiUpstream flag in downstreamConn.welcome() This will make ... Wed, 17 Nov 2021 10:17:09 GMT contact [692] * trunk/downstream.go (modified) * trunk/user.go (modified) Add downstreamConn.isMultiUpstream Mon, 15 Nov 2021 23:38:04 GMT contact [691] * trunk/cmd/soju/main.go (modified) * trunk/conn.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Allow most config options to be reloaded Closes: ... Mon, 15 Nov 2021 13:34:04 GMT contact [684] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for MONITOR Add support for MONITOR in single-upstream ... Tue, 09 Nov 2021 21:09:17 GMT contact [682] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add a queue for WHO commands This has the following upsides: - We ... Tue, 09 Nov 2021 20:32:26 GMT contact [681] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Remove support for mixed multi-upstream LIST Multi-upstream ... Mon, 08 Nov 2021 18:36:10 GMT contact [676] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Add context support to user and network mutations References: ... Wed, 03 Nov 2021 15:37:01 GMT contact [666] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) msgstore: take Network as arg instead of network The message stores ... Mon, 18 Oct 2021 17:15:15 GMT contact [652] * trunk/cmd/sojuctl/main.go (modified) * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/db_postgres.go (modified) * trunk/db_sqlite.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/server_test.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add context args to Database interface This is a mecanical change, ... Fri, 15 Oct 2021 16:11:04 GMT contact [644] * trunk/msgstore_fs.go (modified) * trunk/user.go (modified) msgstore_fs: rename log dir when network is renamed Tue, 12 Oct 2021 07:11:14 GMT contact [625] * trunk/doc/soju.1.scd (modified) * trunk/service.go (modified) * trunk/user.go (modified) service: allow updating other users Thu, 07 Oct 2021 18:43:10 GMT contact [612] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/server.go (modified) * trunk/user.go (modified) Add max-user-networks config option Mon, 13 Sep 2021 08:33:46 GMT contact [583] * trunk/user.go (modified) Don't send network notification when removed Closes: ... Mon, 28 Jun 2021 16:05:03 GMT contact [572] * trunk/service.go (modified) * trunk/user.go (modified) Introduce user.updateUser Unify updatePassword and updateRealname ... 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: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, 26 May 2021 09:08:10 GMT contact [544] * trunk/user.go (modified) Fix typo in BOUNCER notifications: s/status/state/ Wed, 26 May 2021 09:04:33 GMT contact [543] * trunk/user.go (modified) Broadcast BOUNCER notifications to all downstream connections We ... 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:42:51 GMT contact [536] * trunk/user.go (modified) Don't send connection status NOTICEs with bouncer-networks 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 [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 Tue, 13 Apr 2021 18:12:49 GMT contact [501] * trunk/user.go (modified) Add per-network logger Tue, 13 Apr 2021 17:33:06 GMT contact [500] * trunk/user.go (modified) Error out on network name conflict Closes: ... 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 16:15:30 GMT contact [497] * trunk/db.go (modified) * trunk/user.go (modified) Store last internal msg ID in DB when detaching References: ... Tue, 13 Apr 2021 15:49:37 GMT contact [495] * trunk/downstream.go (modified) * trunk/user.go (modified) Take msg ID in sendTargetBacklog Tue, 13 Apr 2021 11:08:48 GMT contact [494] * trunk/user.go (modified) Panic on unknown user event type This should never happen. Complain ... Tue, 13 Apr 2021 11:04:23 GMT contact [493] * trunk/user.go (modified) Introduce per-user logger Adds the username to log lines. Wed, 31 Mar 2021 16:04:13 GMT contact [489] * trunk/db.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Save delivery receipts in DB This avoids loosing history on restart ... Tue, 30 Mar 2021 10:44:56 GMT contact [487] * trunk/upstream.go (modified) * trunk/user.go (modified) Rename user.clients to clientNames This doesn't contain anything ... 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 14:58:56 GMT contact [483] * trunk/upstream.go (modified) * trunk/user.go (modified) Move network.clients to user No need to have this list per-network. 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 ... 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:41:07 GMT contact [467] * trunk/user.go (modified) Send NOTICE to downstream when upstream is disconnected Closes: ... Wed, 10 Feb 2021 12:50:10 GMT contact [453] * trunk/user.go (modified) Use sendTargetBacklog when re-attaching a channel No need to ... 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 ... Mon, 04 Jan 2021 16:18:30 GMT contact [442] * trunk/msgstore_memory.go (added) * trunk/user.go (modified) Add in-memory message store Uses an in-memory ring buffer. ... Mon, 04 Jan 2021 13:24:00 GMT contact [439] * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (added) * trunk/user.go (modified) Turn messageStore into an interface This allows for other ... 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 ... 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 ... Mon, 07 Sep 2020 09:40:18 GMT hubert [416] * trunk/db.go (modified) * trunk/user.go (modified) Make DB.DeleteChannel take the channel ID ... to allow the caller ... 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 ... Wed, 19 Aug 2020 21:35:12 GMT contact [399] * trunk/upstream.go (modified) * trunk/user.go (modified) Improve registration error messages - Don't print the raw IRC ... 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 ... Wed, 19 Aug 2020 09:24:25 GMT contact [395] * trunk/user.go (modified) Encode idents to hex instead of base64 base64 strings may contain ... Tue, 11 Aug 2020 08:59:06 GMT contact [385] * trunk/cmd/soju/main.go (modified) * trunk/server.go (modified) * trunk/user.go (modified) Add an ident server Closes: https://todo.sr.ht/~emersion/soju/69 Mon, 10 Aug 2020 13:03:38 GMT contact [377] * trunk/user.go (modified) Make user.stop block This allows callers to wait until the user has ... Mon, 10 Aug 2020 13:03:38 GMT contact [376] * trunk/user.go (modified) Add user.stop Thu, 09 Jul 2020 12:20:23 GMT contact [359] * trunk/user.go (modified) Prevent error handler from falling through in user.run Mon, 08 Jun 2020 09:59:03 GMT contact [324] * trunk/cmd/sojuctl/main.go (modified) * trunk/db.go (modified) * trunk/user.go (modified) Introduce User.Created For Network and Channel, the database only ... Thu, 04 Jun 2020 11:04:39 GMT contact [313] * trunk/service.go (modified) * trunk/user.go (modified) Add network update command The user.updateNetwork function is a bit ... Wed, 03 Jun 2020 15:28:31 GMT contact [311] * trunk/user.go (modified) Introduce network.isClosed Wed, 03 Jun 2020 14:18:56 GMT contact [309] * trunk/user.go (modified) Unexport network.Stop An exported function makes it look like it ... Wed, 27 May 2020 21:42:38 GMT delthas [296] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Update downstream nicks in single-server mode and after NICK ... Fri, 01 May 2020 13:18:14 GMT contact [284] * trunk/db.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for detached channels Channels can now be detached by ... Fri, 01 May 2020 08:49:58 GMT delthas [283] * trunk/user.go (modified) Fix joining only one saved channel per network This fixes a serious ... Thu, 30 Apr 2020 08:25:16 GMT contact [279] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Remove network.upstream This is an artifact from when we used ... Wed, 29 Apr 2020 17:34:44 GMT contact [276] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for away-notify This makes use of cap-notify to ... Thu, 23 Apr 2020 14:36:20 GMT contact [267] * trunk/db.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add network.channels, remove DB.GetChannel Store the list of ... Fri, 10 Apr 2020 17:22:47 GMT contact [253] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Per-entity ring buffers Instead of having one ring buffer per ... Fri, 10 Apr 2020 08:16:25 GMT admin [252] * trunk/service.go (modified) * trunk/user.go (modified) Allow users to change password in client Added a BouncerServ ... Tue, 07 Apr 2020 12:42:13 GMT contact [241] * trunk/ring.go (modified) * trunk/user.go (modified) Remove Ring.Close This is unused. Mon, 06 Apr 2020 17:11:26 GMT contact [237] * trunk/user.go (modified) Remove network.lock network.conn is now only accessed from the user ... Mon, 06 Apr 2020 16:31:48 GMT contact [231] * trunk/downstream.go (modified) * trunk/ring.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Remove downstreamConn.ringConsumers We no longer need long-lived ... Mon, 06 Apr 2020 16:13:46 GMT contact [228] * trunk/downstream.go (modified) * trunk/ring.go (modified) * trunk/user.go (modified) Remove channel from ring buffer consumers This is unused. Mon, 06 Apr 2020 16:05:36 GMT contact [227] * trunk/doc/architecture.md (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Remove per-network ring buffer goroutines Just dispatch from the ... Sun, 05 Apr 2020 13:15:42 GMT contact [223] * trunk/user.go (modified) Use Network.GetName in network status NOTICE messages Sun, 05 Apr 2020 13:04:52 GMT contact [222] * trunk/downstream.go (modified) * trunk/user.go (modified) Add network.{createUpdate,delete}Channel These are about to get ... Sat, 04 Apr 2020 15:33:09 GMT delthas [218] * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Send one NOTICE on new upstream disconnect/connect errors In order ... Fri, 03 Apr 2020 16:59:17 GMT contact [215] * trunk/downstream.go (modified) * trunk/logger.go (added) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce messageLogger This centralizes formatting related to ... Wed, 01 Apr 2020 14:02:31 GMT contact [204] * trunk/downstream.go (modified) * trunk/user.go (modified) Simplify ring consumer goroutine Since network.history is now only ... Wed, 01 Apr 2020 13:48:56 GMT contact [203] * trunk/downstream.go (modified) * trunk/ring.go (modified) * trunk/user.go (modified) Stop ring consumers when deleting network Wed, 01 Apr 2020 13:40:20 GMT contact [202] * trunk/db.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Add "network delete" service command And add all the infrastructure ... Wed, 01 Apr 2020 13:04:32 GMT contact [201] * trunk/user.go (modified) Make user.getNetwork handle Network.Name Wed, 01 Apr 2020 10:21:31 GMT contact [199] * trunk/user.go (modified) Set network.conn in user goroutine One step closed to removing that ... Wed, 01 Apr 2020 10:16:32 GMT contact [198] * trunk/upstream.go (modified) * trunk/user.go (modified) Auto away Closes: https://todo.sr.ht/~emersion/soju/13 Wed, 01 Apr 2020 10:14:36 GMT contact [197] * trunk/upstream.go (modified) * trunk/user.go (modified) Only set network.conn when registered Wed, 01 Apr 2020 10:05:25 GMT contact [196] * trunk/user.go (modified) Add eventUpstreamConnected This is used in the next commit. Sat, 28 Mar 2020 00:03:00 GMT contact [181] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) s/List/LIST/ when referring to the command Fri, 27 Mar 2020 23:51:58 GMT contact [179] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce eventUpstreamDisconnected This allows us to perform ... Fri, 27 Mar 2020 23:07:20 GMT delthas [177] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add LIST support This commit adds support for downstream LIST ... Fri, 27 Mar 2020 22:08:35 GMT contact [175] * trunk/upstream.go (modified) * trunk/user.go (modified) Fix race condition in upstreamConn.Close upstreamConn.closed was a ...