# # ChangeLog for / in code # # Generated by Trac 1.6 # Jun 9, 2025, 12:59:46 AM 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 Tue, 18 Feb 2020 15:54:06 GMT contact [65] * trunk/server.go (modified) Don't leave connections half-opened Tue, 18 Feb 2020 15:31:18 GMT contact [64] * trunk/cmd/jounce/main.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Add a -debug flag Tue, 18 Feb 2020 14:08:06 GMT contact [63] * trunk/downstream.go (modified) Fix panic when closing downstream connection Tue, 18 Feb 2020 13:10:23 GMT contact [62] * trunk/cmd/jounce/main.go (modified) * trunk/config (added) * trunk/config/config.go (added) Add config file Mon, 17 Feb 2020 15:25:09 GMT contact [61] * trunk/cmd/jounce/main.go (modified) Add CLI flags for listening address and hostname Mon, 17 Feb 2020 15:17:31 GMT contact [60] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add upstreamConn.SendMessage Allows us to change upstreamConn ... Mon, 17 Feb 2020 15:09:35 GMT contact [59] * trunk/downstream.go (modified) * trunk/ring.go (modified) Document Ring Mon, 17 Feb 2020 14:56:18 GMT contact [58] * trunk/downstream.go (modified) Forward PRIVMSG coming from downstream Mon, 17 Feb 2020 14:46:29 GMT contact [57] * trunk/downstream.go (modified) * trunk/ring.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Fix issues related to Ring - RingConsumer is now used directly in ... Mon, 17 Feb 2020 11:41:27 GMT contact [56] * trunk/downstream.go (modified) Add downstreamConn.writeMessages This logic will become more ... Mon, 17 Feb 2020 11:36:42 GMT contact [55] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Abbreviate {upstream,downstream}Conn with uc and dc This makes it ... Mon, 17 Feb 2020 11:27:48 GMT contact [54] * trunk/bridge.go (modified) * trunk/downstream.go (modified) * trunk/upstream.go (modified) Don't write to downstreamConn.messages directly Use a helper ... Mon, 17 Feb 2020 11:19:27 GMT contact [53] * trunk/README.md (modified) readme: add some high-level goals, add contributing links Fri, 07 Feb 2020 16:41:51 GMT contact [52] * trunk/LICENSE (modified) * trunk/README.md (modified) Switch license to AGPLv3 Fri, 07 Feb 2020 16:35:57 GMT contact [51] * trunk/downstream.go (modified) * trunk/ring.go (modified) Add names to consumers Fri, 07 Feb 2020 15:43:54 GMT contact [50] * trunk/downstream.go (modified) * trunk/ring.go (added) * trunk/server.go (modified) * trunk/upstream.go (modified) Add an in-memory ring buffer References: ... Fri, 07 Feb 2020 12:36:32 GMT contact [49] * trunk/downstream.go (modified) * trunk/server.go (modified) Handle downstream PART messages Fri, 07 Feb 2020 12:31:09 GMT contact [48] * trunk/downstream.go (modified) Handle downstream JOIN messages Fri, 07 Feb 2020 12:23:09 GMT contact [47] * trunk/downstream.go (modified) Send fake RPL_CREATED message Fri, 07 Feb 2020 12:08:27 GMT contact [46] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Handle downstream MODE messages Fri, 07 Feb 2020 11:42:24 GMT contact [45] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Close connection from writer goroutine Connections were being ... Fri, 07 Feb 2020 11:37:44 GMT contact [44] * trunk/server.go (modified) * trunk/upstream.go (modified) Add upstreamConn.register Fri, 07 Feb 2020 11:36:02 GMT contact [43] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add parseMessageParams helper Fri, 07 Feb 2020 11:19:42 GMT contact [42] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Allow changing nickname Fri, 07 Feb 2020 11:02:19 GMT contact [41] * trunk/server.go (modified) Skip unregistered and closed upstream connections Fri, 07 Feb 2020 10:56:36 GMT contact [40] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Add user.forEachDownstream Fri, 07 Feb 2020 10:46:44 GMT contact [39] * trunk/downstream.go (modified) * trunk/server.go (modified) Add user.forEachUpstream Fri, 07 Feb 2020 10:39:56 GMT contact [38] * trunk/downstream.go (modified) * trunk/server.go (modified) Add Server.getUser Fri, 07 Feb 2020 10:36:42 GMT contact [37] * trunk/cmd/jounce/main.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Per-user connections Fri, 07 Feb 2020 10:07:01 GMT contact [36] * trunk/upstream.go (modified) Forward PRIVMSG messages Fri, 07 Feb 2020 10:01:53 GMT contact [35] * trunk/upstream.go (modified) Handle channel mode changes Fri, 07 Feb 2020 09:54:03 GMT contact [34] * trunk/upstream.go (modified) Handle third-party JOIN and PART messages Thu, 06 Feb 2020 21:46:46 GMT contact [33] * trunk/upstream.go (modified) Use a dedicated goroutine to write upstream messages Thu, 06 Feb 2020 21:45:54 GMT contact [32] * trunk/bridge.go (added) Add missing bridge.go, oops Thu, 06 Feb 2020 21:35:24 GMT contact [31] * trunk/downstream.go (modified) Remove downstreamConn.WriteMessage It wasn't clear what this ... Thu, 06 Feb 2020 21:29:24 GMT contact [30] * trunk/downstream.go (modified) Send channel info to downstream on registration Thu, 06 Feb 2020 21:25:32 GMT contact [29] * trunk/server.go (modified) Keep track of upstream connections in a list Thu, 06 Feb 2020 21:22:14 GMT contact [28] * trunk/downstream.go (modified) De-duplicate downstream QUIT handling Thu, 06 Feb 2020 21:19:31 GMT contact [27] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Forward channel information Thu, 06 Feb 2020 20:52:04 GMT contact [26] * trunk/downstream.go (modified) Write to downstream conn in dedicated goroutine Thu, 06 Feb 2020 20:43:22 GMT contact [25] * trunk/upstream.go (modified) Mark channel info as complete on RPL_ENDOFNAMES Thu, 06 Feb 2020 20:30:44 GMT contact [24] * trunk/server.go (modified) Remove downstream conn from list on disconnect Thu, 06 Feb 2020 20:20:22 GMT contact [23] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Allow Server to have access to upstreamConn Thu, 06 Feb 2020 20:11:35 GMT contact [22] * trunk/downstream.go (modified) * trunk/server.go (modified) Maintain a list of downstream connections Thu, 06 Feb 2020 19:26:03 GMT contact [21] * trunk/server.go (modified) * trunk/upstream.go (modified) Add per-upstream logger Thu, 06 Feb 2020 18:24:32 GMT contact [20] * trunk/irc.go (added) * trunk/upstream.go (modified) Split IRC helpers to separate file Thu, 06 Feb 2020 18:22:04 GMT contact [19] * trunk/cmd/jounce/main.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Join channels on upstream servers Thu, 06 Feb 2020 17:10:13 GMT contact [18] * trunk/upstream.go (modified) Handle NOTICE from upstream servers Thu, 06 Feb 2020 17:07:35 GMT contact [17] * trunk/upstream.go (modified) Handle MODE messages from upstream servers Thu, 06 Feb 2020 16:04:49 GMT contact [16] * trunk/upstream.go (modified) Handle upstream RPL_MYINFO messages Thu, 06 Feb 2020 15:50:47 GMT contact [15] * trunk/downstream.go (modified) Send standard user/channel modes to downstream connections Thu, 06 Feb 2020 15:39:09 GMT contact [14] * trunk/upstream.go (modified) Ignore some upstream messages Thu, 06 Feb 2020 15:18:19 GMT contact [13] * trunk/downstream.go (added) * trunk/server.go (modified) * trunk/upstream.go (added) Split downstram and upstream code into separate files Thu, 06 Feb 2020 15:13:29 GMT contact [12] * trunk/server.go (modified) Log upstream server errors Thu, 06 Feb 2020 15:11:28 GMT contact [11] * trunk/server.go (modified) Add basic upstream message handler Thu, 06 Feb 2020 15:03:07 GMT contact [10] * trunk/cmd/jounce/main.go (modified) * trunk/server.go (modified) Connect to upstream servers Thu, 06 Feb 2020 14:50:46 GMT contact [9] * trunk/cmd/jounce/main.go (modified) * trunk/server.go (modified) Add Server.Logger Thu, 06 Feb 2020 14:22:26 GMT contact [8] * trunk/server.go (modified) Rename conn to downstreamConn Thu, 06 Feb 2020 11:18:37 GMT contact [7] * trunk/server.go (modified) Handle PING Thu, 06 Feb 2020 11:08:54 GMT contact [6] * trunk/server.go (modified) Send ERR_NOMOTD on registration Tue, 04 Feb 2020 17:56:07 GMT contact [5] * trunk/cmd/jounce/main.go (modified) * trunk/server.go (modified) Add connection registration Tue, 04 Feb 2020 11:19:18 GMT contact [4] * trunk/server.go (modified) Handle NICK and USER Tue, 04 Feb 2020 10:25:53 GMT contact [3] * trunk/cmd/jounce/main.go (modified) * trunk/server.go (modified) Send "unknown command" replies Tue, 04 Feb 2020 09:50:28 GMT contact [2] * trunk/LICENSE (added) * trunk/README.md (added) Add LICENSE and README.md