# # ChangeLog for / in code # # Generated by Trac 1.6 # Jun 9, 2025, 12:04:54 AM Fri, 27 Mar 2020 15:33:19 GMT contact [165] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Introduce a user.events channel This allows to easily add new ... Fri, 27 Mar 2020 08:40:51 GMT delthas [164] * trunk/downstream.go (modified) Add downstream NOTICE support Thu, 26 Mar 2020 21:43:48 GMT delthas [163] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add downstream INVITE support Thu, 26 Mar 2020 21:33:44 GMT delthas [162] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add upstream RPL_CREATIONTIME support Thu, 26 Mar 2020 21:28:13 GMT delthas [161] * trunk/upstream.go (modified) Fix capitalization of 'id' Following the Go project source code ... Thu, 26 Mar 2020 21:27:46 GMT delthas [160] * trunk/bridge.go (modified) * trunk/downstream.go (modified) Add downstream TOPIC support Wed, 25 Mar 2020 23:15:26 GMT delthas [159] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add KICK support Downstream and upstream message handling are ... Wed, 25 Mar 2020 23:12:53 GMT delthas [158] * trunk/downstream.go (modified) Simplify error handling for downstream JOIN/PART ... Wed, 25 Mar 2020 22:21:26 GMT delthas [157] * trunk/upstream.go (modified) Fix wrong handling of members parameter of RPL_NAMREPLY Some ... Wed, 25 Mar 2020 22:21:14 GMT delthas [156] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Route NAMES, WHO, WHOIS replies to the requesting downstream Using ... Wed, 25 Mar 2020 22:20:56 GMT delthas [155] * trunk/irc.go (modified) * trunk/upstream.go (modified) Add upstream labeled-response capability support Wed, 25 Mar 2020 22:17:46 GMT delthas [154] * trunk/downstream.go (modified) * trunk/server.go (modified) Add a server-unique id to each downstream Adding a simple uint64 id ... Wed, 25 Mar 2020 22:16:53 GMT delthas [153] * trunk/irc.go (modified) * trunk/upstream.go (modified) Add upstream batch capability support Wed, 25 Mar 2020 22:15:48 GMT delthas [152] * trunk/upstream.go (modified) Add upstream message-tags capability support Wed, 25 Mar 2020 21:57:48 GMT contact [151] * trunk/service.go (modified) * trunk/soju.1.scd (modified) Add a "network status" command Wed, 25 Mar 2020 20:03:13 GMT contact [150] * trunk/service.go (modified) * trunk/soju.1.scd (modified) Make BouncerServ commands a tree For instance, replace ... Wed, 25 Mar 2020 13:23:41 GMT contact [149] * trunk/db.go (modified) Correctly set Channel.ID in DB.StoreChannel Wed, 25 Mar 2020 13:15:25 GMT contact [148] * trunk/db.go (modified) Error out when storing unsupported SASL mechanism in DB Wed, 25 Mar 2020 12:44:32 GMT contact [147] * trunk/.gitignore (modified) gitignore: add soju.db and soju.1 Wed, 25 Mar 2020 10:54:08 GMT contact [146] * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for channel keys Wed, 25 Mar 2020 10:32:44 GMT contact [145] * trunk/downstream.go (modified) Handle downstream JOIN/PART with multiple channel names Closes: ... Wed, 25 Mar 2020 10:28:25 GMT contact [144] * trunk/downstream.go (modified) * trunk/user.go (modified) Consume ring buffer for networks added on-the-fly Wed, 25 Mar 2020 09:53:08 GMT contact [143] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Move upstreamConn.ring to network This handles upstream ... Wed, 25 Mar 2020 08:51:22 GMT delthas [142] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add downstream self WHO and WHOIS support Wed, 25 Mar 2020 08:48:00 GMT delthas [141] * trunk/downstream.go (modified) Add user hostname to downstream user prefix Wed, 25 Mar 2020 08:47:26 GMT delthas [140] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add downstream NAMES support NAMES reply for channels currently ... Wed, 25 Mar 2020 08:40:08 GMT delthas [139] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add MODE arguments support - Add RPL_ISUPPORT support with ... Tue, 24 Mar 2020 08:22:40 GMT contact [138] * trunk/ring.go (modified) Add more details to ring buffer panics Mon, 23 Mar 2020 15:05:00 GMT contact [137] * trunk/downstream.go (modified) * trunk/user.go (modified) Add user.{add,remove}Downstream Sat, 21 Mar 2020 09:24:38 GMT contact [136] * trunk/downstream.go (modified) * trunk/user.go (modified) Add network.upstream helper Sat, 21 Mar 2020 07:44:03 GMT contact [135] * trunk/downstream.go (modified) Fix typo Sat, 21 Mar 2020 07:41:14 GMT contact [134] * trunk/downstream.go (modified) Fix empty SASL challenge message We were sending an empty string. ... Sat, 21 Mar 2020 07:29:44 GMT contact [133] * trunk/user.go (modified) Drop messages on closed connections This prevents this panic: ... Fri, 20 Mar 2020 21:53:05 GMT contact [132] * trunk/bridge.go (modified) * trunk/downstream.go (modified) Avoid sending JOIN twice for the same channel Fri, 20 Mar 2020 21:48:17 GMT contact [131] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Move upstreamConn.history to network Fri, 20 Mar 2020 09:42:17 GMT contact [130] * trunk/README.md (modified) * trunk/downstream.go (modified) Fix deadlocks in single-upstream mode Fri, 20 Mar 2020 09:11:27 GMT delthas [129] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Fix MODE downstream support - Fix replies without client as first ... Fri, 20 Mar 2020 09:11:27 GMT delthas [128] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add WHOIS support Thu, 19 Mar 2020 23:29:03 GMT delthas [127] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add WHO support Thu, 19 Mar 2020 14:11:43 GMT contact [126] * trunk/Makefile (added) Add basic Makefile Thu, 19 Mar 2020 13:51:45 GMT contact [125] * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Remove some IRCv3 constants go-irc v3.1.2 adds some missing IRCv3 ... Thu, 19 Mar 2020 13:44:49 GMT contact [124] * trunk/downstream.go (modified) Fix history name dc.username contains the raw account username, not ... Thu, 19 Mar 2020 13:33:49 GMT contact [123] * trunk/README.md (modified) readme: add ref to man page, add link to GitHub repo Thu, 19 Mar 2020 13:18:31 GMT contact [122] * trunk/soju.1.scd (modified) man: fix typo Thu, 19 Mar 2020 13:16:39 GMT contact [121] * trunk/soju.1.scd (added) man: add basic man page Thu, 19 Mar 2020 00:14:44 GMT delthas [120] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Add create-network bouncer service command Wed, 18 Mar 2020 23:06:48 GMT delthas [119] * trunk/downstream.go (modified) * trunk/user.go (modified) Add suffixing for multi-upstream connections Wed, 18 Mar 2020 23:06:48 GMT delthas [118] * trunk/db.go (modified) * trunk/schema.sql (modified) * trunk/user.go (modified) schema: add Network.name Wed, 18 Mar 2020 11:23:08 GMT contact [117] * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/service.go (added) * trunk/upstream.go (modified) Add basic infrastructure for bouncer service Wed, 18 Mar 2020 09:28:58 GMT contact [116] * trunk/.build.yml (added) ci: add builds.sr.ht manifest Wed, 18 Mar 2020 09:26:25 GMT delthas [115] * trunk/upstream.go (modified) Add upstream INVITE support Tue, 17 Mar 2020 15:17:39 GMT contact [114] * trunk/downstream.go (modified) Fix typo Tue, 17 Mar 2020 15:15:54 GMT contact [113] * trunk/downstream.go (modified) Fix echo PRIVMSG messages Mon, 16 Mar 2020 15:16:27 GMT contact [112] * trunk/downstream.go (modified) Add downstream SASL support Mon, 16 Mar 2020 14:12:46 GMT contact [111] * trunk/downstream.go (modified) Allow CAP command when registered Mon, 16 Mar 2020 14:10:16 GMT contact [110] * trunk/downstream.go (modified) Log downstream messages before registration Mon, 16 Mar 2020 14:08:56 GMT contact [109] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Protect upstreamConn.history with a lock Mon, 16 Mar 2020 14:05:24 GMT contact [108] * trunk/downstream.go (modified) * trunk/irc.go (modified) Add CAP support for downstream connections Mon, 16 Mar 2020 13:32:38 GMT contact [107] * trunk/downstream.go (modified) Don't reply to PING when client is unregistered Mon, 16 Mar 2020 13:30:49 GMT contact [106] * trunk/downstream.go (modified) Make downstreamConn.runUntilegistered exit with an error on EOF Mon, 16 Mar 2020 13:28:45 GMT contact [105] * trunk/downstream.go (modified) Echo downstream PRIVMSGs to other downstream connections Mon, 16 Mar 2020 13:05:48 GMT contact [104] * trunk/downstream.go (modified) Rename consumption to ringMessage Mon, 16 Mar 2020 11:44:59 GMT contact [103] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Per-user dispatcher goroutine This allows message handlers to read ... Mon, 16 Mar 2020 10:26:54 GMT contact [102] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Rename messages channels to outgoing Mon, 16 Mar 2020 10:18:41 GMT contact [101] * trunk/server.go (modified) * trunk/user.go (added) Split user logic into its own file Mon, 16 Mar 2020 08:32:18 GMT contact [100] * trunk/README.md (modified) * trunk/downstream.go (modified) Strip client & network name from username Fri, 13 Mar 2020 17:14:14 GMT contact [99] * trunk/.gitignore (modified) Add sojuctl to .gitignore Fri, 13 Mar 2020 17:13:03 GMT contact [98] * trunk/README.md (modified) * trunk/bridge.go (modified) * trunk/cmd/jounce/main.go (deleted) * trunk/cmd/jouncectl/main.go (deleted) * trunk/cmd/soju (added) * trunk/cmd/soju/main.go (added) * trunk/cmd/sojuctl (added) * trunk/cmd/sojuctl/main.go (added) * trunk/config/config.go (modified) * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/irc.go (modified) * trunk/ring.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Rename project to soju Fri, 13 Mar 2020 15:39:49 GMT contact [97] * trunk/upstream.go (modified) Forward NOTICE messages coming from upstream connections Fri, 13 Mar 2020 15:18:53 GMT contact [96] * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Update dependencies go-irc v3.1.1 contains a breaking change. ... Fri, 13 Mar 2020 14:12:44 GMT contact [95] * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/irc.go (modified) * trunk/schema.sql (modified) * trunk/upstream.go (modified) Add support for SASL authentication We now store SASL credentials ... Fri, 13 Mar 2020 11:30:01 GMT contact [94] * trunk/schema.sql (modified) schema: add Channel.key Fri, 13 Mar 2020 11:06:02 GMT contact [93] * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/schema.sql (modified) * trunk/upstream.go (modified) Add support for upstream PASS command Fri, 13 Mar 2020 10:26:43 GMT contact [92] * trunk/upstream.go (modified) Add upstream CAP LS support Thu, 12 Mar 2020 20:28:09 GMT contact [91] * trunk/README.md (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) Auto-save IRC networks Thu, 12 Mar 2020 18:17:06 GMT contact [90] * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) Store NICK changes in the DB Thu, 12 Mar 2020 17:33:03 GMT contact [89] * trunk/db.go (modified) * trunk/downstream.go (modified) Update DB on JOIN and PART Thu, 12 Mar 2020 17:21:41 GMT contact [88] * trunk/downstream.go (modified) Fix nil dereference when network is specified in username Thu, 12 Mar 2020 14:33:49 GMT contact [87] * trunk/schema.sql (modified) schema: add UNIQUE constraints Thu, 12 Mar 2020 14:23:46 GMT contact [86] * trunk/README.md (modified) * trunk/schema.sql (modified) schema: make User.password NOT NULL Wed, 11 Mar 2020 18:09:32 GMT contact [85] * trunk/db.go (modified) * trunk/downstream.go (modified) Add support for PASS to downstream Wed, 11 Mar 2020 18:01:03 GMT contact [84] * trunk/cmd/jouncectl (added) * trunk/cmd/jouncectl/main.go (added) * trunk/db.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) cmd/jouncectl: new command Allows to create users. Fri, 06 Mar 2020 17:51:11 GMT contact [83] * trunk/upstream.go (modified) Pass-through QUIT messages Fri, 06 Mar 2020 17:43:56 GMT contact [82] * trunk/upstream.go (modified) Pass-through NICK messages for other users Wed, 04 Mar 2020 19:15:38 GMT contact [81] * trunk/db.go (modified) Use a RWMutex for DB Wed, 04 Mar 2020 19:13:20 GMT contact [80] * trunk/README.md (modified) readme: pipe commands into sqlite3 instead of using -init This ... Wed, 04 Mar 2020 18:23:24 GMT contact [79] * trunk/db.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) go fmt Wed, 04 Mar 2020 17:27:33 GMT contact [78] * trunk/README.md (modified) readme: add instructions to initialize database Wed, 04 Mar 2020 17:22:58 GMT contact [77] * trunk/cmd/jounce/main.go (modified) * trunk/config/config.go (modified) * trunk/db.go (added) * trunk/downstream.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) * trunk/schema.sql (added) * trunk/server.go (modified) * trunk/upstream.go (modified) Add SQLite database Closes: https://todo.sr.ht/~emersion/jounce/9 Wed, 04 Mar 2020 15:02:45 GMT contact [76] * trunk/downstream.go (modified) Rename network to upstreamName Wed, 04 Mar 2020 15:00:19 GMT contact [75] * trunk/downstream.go (modified) * trunk/server.go (modified) Remove unused user.getChannel, move getUpstream to user Wed, 04 Mar 2020 14:45:14 GMT contact [74] * trunk/upstream.go (modified) Fix TOPIC parsing, broadcast to downstream clients Wed, 04 Mar 2020 14:44:13 GMT contact [73] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Allow clients to specify an upstream name in their username Tue, 03 Mar 2020 14:33:21 GMT contact [72] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Remove upstream prefix for outgoing MODE and PRIVMSG We shouldn't ... Tue, 03 Mar 2020 14:26:19 GMT contact [71] * trunk/server.go (modified) Retry connecting to upstream servers Rate-limit retries in case ... Tue, 03 Mar 2020 14:15:57 GMT contact [70] * trunk/cmd/jounce/main.go (modified) cmd/jounce: fix non-TLS listener address Wed, 19 Feb 2020 17:25:19 GMT contact [69] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add functions to translate between upstream and downstream names Tue, 18 Feb 2020 19:40:32 GMT contact [68] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Fix PING handlers, again Tue, 18 Feb 2020 16:26:17 GMT contact [67] * trunk/server.go (modified) * trunk/upstream.go (modified) Enable TCP keep-alive on all connections Tue, 18 Feb 2020 16:07:58 GMT contact [66] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Properly handle PING messages