2025-10-15 - 2026-10-15

Overview

56 Active Pull Requests
67 Active Issues
Excluding merges, 4 authors have pushed 45 commits to main and 128 commits to all branches. On main, 129 files have changed and there have been 33009 additions and 6270 deletions.

55 Pull requests merged by 1 user

Merged #130 Give each IRC listener test its own database (closes #129) 2026-10-08 12:01:50 +02:00

Merged #120 Bring README.md in line with the modes and the schema (closes #119) 2026-10-08 11:30:49 +02:00

Merged #126 Keep active IRC listener users from expiring (closes #121) 2026-10-08 10:47:56 +02:00

Merged #96 Add the tier 3 utility IRC commands (closes #87) 2026-10-08 07:31:38 +02:00

Merged #118 Build the web front end with yarn (closes #117) 2026-10-07 02:01:43 +02:00

Merged #116 Make the internal/handlers tests fast (closes #113) 2026-10-07 00:13:42 +02:00

Merged #115 Re-vendor the canonical files from sneak/prompts at dd4027b (closes #112) 2026-10-06 21:01:47 +02:00

Merged #114 Run make test once so a failing test fails the build (closes #101) 2026-10-06 08:31:03 +02:00

Merged #110 Fix the data races and the test timeout that fail make test, on main (closes #104) 2026-10-02 10:13:29 +02:00

Merged #108 Remove BUILDARCH and stamp the git version in Docker builds (closes #107, closes #109) 2026-10-02 04:13:07 +02:00

Merged #105 Fix the data races that fail make test (closes #104) 2026-10-02 02:49:53 +02:00

Merged #99 Change module path to sneak.berlin/go/neoirc 2026-04-01 23:05:41 +02:00

Merged #100 test: add comprehensive IRC integration test with two clients 2026-04-01 12:47:50 +02:00

Merged #94 feat: add traditional IRC wire protocol listener (closes #89) 2026-04-01 05:00:04 +02:00

Merged #95 feat: move schema_migrations into 000_bootstrap.sql 2026-03-30 21:35:53 +02:00

Merged #92 feat: implement Tier 2 channel modes (+b/+i/+s/+k/+l) 2026-03-25 22:38:46 +01:00

Merged #93 fix: use in-memory SQLite for handler tests to fix CI timeout 2026-03-25 20:11:34 +01:00

Merged #88 feat: implement Tier 1 channel modes (+o/+v/+m/+t), KICK, NOTICE 2026-03-25 02:08:29 +01:00

Merged #78 feat: add per-IP rate limiting to login endpoint 2026-03-22 00:39:38 +01:00

Merged #84 refactor: replace Bearer token auth with HttpOnly cookies 2026-03-20 23:54:24 +01:00

Merged #82 feat: add username/hostname support with IRC hostmask format 2026-03-20 06:53:36 +01:00

Merged #79 feat: per-channel hashcash proof-of-work for PRIVMSG anti-spam 2026-03-18 03:40:34 +01:00

Merged #76 docs: update README schema section to match sessions/clients tables 2026-03-18 03:38:37 +01:00

Merged #75 security: enforce channel membership check in handleTopic 2026-03-17 12:47:00 +01:00

Merged #77 docs: document register/login and dual authentication model 2026-03-17 12:44:48 +01:00

Merged #80 feat: add runtime statistics to healthcheck endpoint 2026-03-17 12:43:40 +01:00

Merged #72 feat: implement Tier 1 IRC numerics 2026-03-13 00:41:26 +01:00

Merged #63 feat: implement hashcash proof-of-work for session creation 2026-03-13 00:38:41 +01:00

Merged #73 [deps] Migrate from chi v1 to chi/v5 2026-03-13 00:32:10 +01:00

Merged #71 Complete IRC numerics module and move to pkg/irc/ (refs #52) 2026-03-10 18:41:27 +01:00

Merged #67 Implement queue pruning and message rotation (closes #40) 2026-03-10 15:37:34 +01:00

Merged #69 feat: store auth tokens as SHA-256 hashes instead of plaintext 2026-03-10 12:44:29 +01:00

Merged #66 Replace string-matching error detection with typed SQLite errors (closes #39) 2026-03-10 11:54:27 +01:00

Merged #68 Remove dead Auth() middleware method 2026-03-10 11:41:43 +01:00

Merged #64 feat: add Content-Security-Policy middleware 2026-03-10 11:20:15 +01:00

Merged #61 fix: replay channel state on SPA reconnect 2026-03-10 11:08:13 +01:00

Merged #62 fix: add version field to /api/v1/server response 2026-03-10 11:05:11 +01:00

Merged #59 feat: implement IRC numerics batch 2 — connection registration, channel ops, user queries 2026-03-10 00:53:47 +01:00

Merged #58 fix: IRC SPA cleanup — /motd, /query, Firefox / key, default MOTD 2026-03-09 23:00:34 +01:00

Merged #56 refactor: replace HTTP error codes with IRC numeric replies 2026-03-09 22:21:31 +01:00

Merged #53 Redesign SPA to look like a proper IRC client (closes #50) 2026-03-09 22:12:34 +01:00

Merged #49 Fix SPA: bundle preact instead of leaving as external require (closes #48) 2026-03-07 14:53:14 +01:00

Merged #47 Rename app from chat to neoirc, binary to neoircd (closes #46) 2026-03-07 14:43:58 +01:00

Merged #45 fix: change appname to neoirc, default DB to /var/lib/neoirc/state.db 2026-03-06 12:40:29 +01:00

Merged #32 feat: split Dockerfile into dedicated lint stage for faster CI 2026-03-02 21:05:09 +01:00

Merged #24 feat: logout, users/me, user count, session timeout 2026-03-01 15:47:03 +01:00

Merged #23 feat: password-based registration and login (closes #1) 2026-02-28 19:57:41 +01:00

Merged #22 feat: MVP two-user chat via embedded SPA (closes #9) 2026-02-27 13:51:21 +01:00

Merged #21 dockerfile: use CGO_ENABLED=0 for binary builds (closes #13) 2026-02-27 08:47:11 +01:00

Merged #10 MVP 1.0: IRC-over-HTTP chat server 2026-02-27 07:21:35 +01:00

Merged #18 fix: repo standards audit — fix all divergences (closes #17) 2026-02-27 05:10:00 +01:00

Merged #8 Add embedded web chat client (closes #7) 2026-02-11 03:02:42 +01:00

Merged #4 Add complete database schema and ORM models 2026-02-11 03:02:34 +01:00

Merged #6 Fix code review feedback (closes #5) 2026-02-10 18:18:06 +01:00

Merged #3 Fix all lint issues, add AGENTS.md with workflow rules 2026-02-09 21:33:34 +01:00

1 Pull request proposed by 1 user

Proposed #111 next → main: race fix, version stamp, no buildarch 2026-10-02 04:13:31 +02:00

58 Issues closed from 2 users

Closed #129 IRC listener tests fail when run again: test databases are shared between runs 2026-10-08 12:01:50 +02:00

Closed #119 README.md describes modes and the schema as they were, not as they are 2026-10-08 11:30:49 +02:00

Closed #121 IRC listener users are removed by the idle cleanup while still active 2026-10-08 10:47:57 +02:00

Closed #87 Tier 3: Utility IRC commands (USERHOST, VERSION, ADMIN, INFO, TIME, KILL, WALLOPS) 2026-10-08 07:31:39 +02:00

Closed #117 The web build uses npm, but REPO_POLICIES.md says yarn 2026-10-07 02:01:44 +02:00

Closed #113 internal/handlers tests make make test miss its 20-second target 2026-10-07 00:13:42 +02:00

Closed #112 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 21:01:47 +02:00

Closed #101 make test retry masks real data races and timeouts 2026-10-06 08:31:04 +02:00

Closed #107 Remove BUILDARCH from the Makefile 2026-10-02 04:13:07 +02:00

Closed #109 docker build . stamps dev, not the git tag or short commit 2026-10-02 04:13:07 +02:00

Closed #104 Make prod green: the check fails on the commit main, next and prod share 2026-10-02 02:49:54 +02:00

Closed #106 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:12:22 +02:00

Closed #103 internal/ircserver: Disconnect doc comment understates the worst-case socket close delay 2026-09-05 11:32:53 +02:00

Closed #102 internal/db: SetSessionWallops is dead production code after the #96 B2 refactor 2026-09-05 11:32:53 +02:00

Closed #98 change module path 2026-04-01 23:05:42 +02:00

Closed #97 integration test: needs a testing client program 2026-04-01 22:38:43 +02:00

Closed #89 for 1.0: need a backward compat 6667 listener that speaks real irc 2026-04-01 05:00:04 +02:00

Closed #91 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-30 21:35:53 +02:00

Closed #86 Tier 2: Ban system, invite-only, secret, channel key, user limit (+b/+i/+s/+k/+l) 2026-03-25 22:38:46 +01:00

Closed #90 critical: main branch build broken 2026-03-25 20:11:35 +01:00

Closed #85 Tier 1: Core IRC channel modes and commands (+o/+v/+m/+t, KICK, NOTICE) 2026-03-25 02:08:29 +01:00

Closed #35 [security] Add rate limiting to session creation and login endpoints 2026-03-22 00:39:38 +01:00

Closed #83 auth system? 2026-03-20 06:54:06 +01:00

Closed #81 add username/hostname support 2026-03-20 06:53:36 +01:00

Closed #12 Per-channel hashcash requirement for PRIVMSG (anti-spam) 2026-03-18 03:40:34 +01:00

Closed #37 [docs] Update README schema section to match sessions/clients tables 2026-03-18 03:38:37 +01:00

Closed #33 [security] handleTopic: enforce channel membership check 2026-03-17 12:47:00 +01:00

Closed #36 [docs] Update README to document register/login and account system 2026-03-17 12:44:49 +01:00

Closed #74 [feature] Expand healthcheck output with runtime statistics 2026-03-17 12:43:40 +01:00

Closed #52 please identify a list of all IRC numeric c2s and s2c codes that exist in common/standard irc usage, and identify which we have implemented and which we have not 2026-03-14 07:38:54 +01:00

Closed #70 Implement Tier 1 IRC numerics: AWAY system, WHOISIDLE, TOPICWHOTIME, missing error numerics 2026-03-13 00:41:26 +01:00

Closed #11 Implement hashcash proof-of-work for session creation 2026-03-13 00:38:41 +01:00

Closed #42 [deps] Evaluate migration from chi v1 to chi/v5 2026-03-13 00:32:12 +01:00

Closed #40 [feature] Implement queue pruning and message rotation 2026-03-10 15:37:34 +01:00

Closed #34 [security] Store auth tokens as SHA-256 hashes instead of plaintext 2026-03-10 12:44:30 +01:00

Closed #39 [cleanup] Replace string-matching error detection with typed errors 2026-03-10 11:54:27 +01:00

Closed #38 [cleanup] Remove dead Auth() middleware method 2026-03-10 11:41:43 +01:00

Closed #41 [security] Add CSP headers for embedded web SPA 2026-03-10 11:20:16 +01:00

Closed #60 [bug] SPA reconnect does not restore channel tabs 2026-03-10 11:08:13 +01:00

Closed #43 [bug] Add version field to /api/v1/server response 2026-03-10 11:05:11 +01:00

Closed #57 irc client style needs cleanup in SPA 2026-03-09 23:00:34 +01:00

Closed #54 http response codes should not be used in response to irc commands 2026-03-09 22:21:32 +01:00

Closed #50 irc client SPA needs to look a lot more like an irc client 2026-03-09 22:12:34 +01:00

Closed #48 spa does not work 2026-03-07 14:53:14 +01:00

Closed #46 rename app: chat -> neoirc 2026-03-07 14:43:58 +01:00

Closed #44 default db location is stupid 2026-03-06 12:40:29 +01:00

Closed #27 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 11:24:17 +01:00

Closed #26 µPaaS deployment setup 2026-03-02 09:29:19 +01:00

Closed #29 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 09:29:18 +01:00

Closed #28 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 09:29:17 +01:00

Closed #30 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 08:51:54 +01:00

Closed #1 1.0.0 — MVP: Two users chatting on one server 2026-02-28 19:57:41 +01:00

Closed #9 MVP: Two users chatting via embedded SPA 2026-02-27 13:51:21 +01:00

Closed #13 CRITICAL: main branch build failure 2026-02-27 07:22:08 +01:00

Closed #16 Add branch protection to main branch 2026-02-27 05:10:56 +01:00

Closed #17 Repo standards audit: divergences from EXISTING_REPO_CHECKLIST 2026-02-27 05:10:00 +01:00

Closed #7 Add embedded web chat client (SPA) 2026-02-11 03:02:42 +01:00

Closed #5 Fix code review feedback from PR #4 2026-02-10 18:18:06 +01:00

67 Issues created by 2 users

Opened #1 1.0.0 — MVP: Two users chatting on one server 2026-02-09 21:28:24 +01:00

Opened #2 1.1.0 — Federation: Two users chatting across linked servers 2026-02-09 21:28:56 +01:00

Opened #5 Fix code review feedback from PR #4 2026-02-10 06:15:55 +01:00

Opened #7 Add embedded web chat client (SPA) 2026-02-10 18:22:47 +01:00

Opened #9 MVP: Two users chatting via embedded SPA 2026-02-11 02:44:03 +01:00

Opened #11 Implement hashcash proof-of-work for session creation 2026-02-11 03:06:41 +01:00

Opened #12 Per-channel hashcash requirement for PRIVMSG (anti-spam) 2026-02-11 03:14:11 +01:00

Opened #13 CRITICAL: main branch build failure 2026-02-20 11:23:37 +01:00

Opened #16 Add branch protection to main branch 2026-02-20 11:59:58 +01:00

Opened #17 Repo standards audit: divergences from EXISTING_REPO_CHECKLIST 2026-02-26 15:08:01 +01:00

Opened #25 final 1.0rc1 review/audit/test/qa 2026-03-01 15:49:16 +01:00

Opened #26 µPaaS deployment setup 2026-03-02 08:47:36 +01:00

Opened #27 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 08:50:54 +01:00

Opened #28 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 08:51:05 +01:00

Opened #29 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 08:51:19 +01:00

Opened #30 Split Dockerfile: pre-built golangci-lint stage for faster CI 2026-03-02 08:51:34 +01:00

Opened #33 [security] handleTopic: enforce channel membership check 2026-03-04 12:19:59 +01:00

Opened #35 [security] Add rate limiting to session creation and login endpoints 2026-03-04 12:20:00 +01:00

Opened #34 [security] Store auth tokens as SHA-256 hashes instead of plaintext 2026-03-04 12:20:00 +01:00

Opened #36 [docs] Update README to document register/login and account system 2026-03-04 12:20:01 +01:00

Opened #37 [docs] Update README schema section to match sessions/clients tables 2026-03-04 12:20:02 +01:00

Opened #38 [cleanup] Remove dead Auth() middleware method 2026-03-04 12:20:02 +01:00

Opened #39 [cleanup] Replace string-matching error detection with typed errors 2026-03-04 12:20:03 +01:00

Opened #40 [feature] Implement queue pruning and message rotation 2026-03-04 12:20:04 +01:00

Opened #41 [security] Add CSP headers for embedded web SPA 2026-03-04 12:20:04 +01:00

Opened #42 [deps] Evaluate migration from chi v1 to chi/v5 2026-03-04 12:20:05 +01:00

Opened #43 [bug] Add version field to /api/v1/server response 2026-03-04 12:20:06 +01:00

Opened #44 default db location is stupid 2026-03-06 12:26:30 +01:00

Opened #46 rename app: chat -> neoirc 2026-03-06 12:38:04 +01:00

Opened #48 spa does not work 2026-03-07 14:44:24 +01:00

Opened #50 irc client SPA needs to look a lot more like an irc client 2026-03-07 14:58:27 +01:00

Opened #52 please identify a list of all IRC numeric c2s and s2c codes that exist in common/standard irc usage, and identify which we have implemented and which we have not 2026-03-07 15:18:37 +01:00

Opened #54 http response codes should not be used in response to irc commands 2026-03-08 10:07:20 +01:00

Opened #57 irc client style needs cleanup in SPA 2026-03-09 22:40:21 +01:00

Opened #60 [bug] SPA reconnect does not restore channel tabs 2026-03-09 23:04:04 +01:00

Opened #70 Implement Tier 1 IRC numerics: AWAY system, WHOISIDLE, TOPICWHOTIME, missing error numerics 2026-03-10 18:04:18 +01:00

Opened #74 [feature] Expand healthcheck output with runtime statistics 2026-03-17 10:01:28 +01:00

Opened #81 add username/hostname support 2026-03-17 13:01:47 +01:00

Opened #83 auth system? 2026-03-18 03:41:48 +01:00

Opened #85 Tier 1: Core IRC channel modes and commands (+o/+v/+m/+t, KICK, NOTICE) 2026-03-22 11:04:34 +01:00

Opened #86 Tier 2: Ban system, invite-only, secret, channel key, user limit (+b/+i/+s/+k/+l) 2026-03-22 11:04:58 +01:00

Opened #87 Tier 3: Utility IRC commands (USERHOST, VERSION, ADMIN, INFO, TIME, KILL, WALLOPS) 2026-03-22 11:05:13 +01:00

Opened #89 for 1.0: need a backward compat 6667 listener that speaks real irc 2026-03-25 02:10:08 +01:00

Opened #90 critical: main branch build broken 2026-03-25 02:12:50 +01:00

Opened #91 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-25 02:22:02 +01:00

Opened #97 integration test: needs a testing client program 2026-04-01 04:58:48 +02:00

Opened #98 change module path 2026-04-01 05:01:39 +02:00

Opened #101 make test retry masks real data races and timeouts 2026-08-10 15:46:24 +02:00

Opened #102 internal/db: SetSessionWallops is dead production code after the #96 B2 refactor 2026-09-04 08:49:23 +02:00

Opened #103 internal/ircserver: Disconnect doc comment understates the worst-case socket close delay 2026-09-04 08:49:24 +02:00

Opened #104 Make prod green: the check fails on the commit main, next and prod share 2026-09-29 12:33:16 +02:00

Opened #106 Run every build, test and lint step in the Dockerfiles at nice -n 19 2026-09-29 13:02:25 +02:00

Opened #107 Remove BUILDARCH from the Makefile 2026-10-02 00:47:26 +02:00

Opened #109 docker build . stamps dev, not the git tag or short commit 2026-10-02 02:21:44 +02:00

Opened #112 Re-vendor the canonical files from sneak/prompts at dd4027b 2026-10-06 01:29:56 +02:00

Opened #113 internal/handlers tests make make test miss its 20-second target 2026-10-06 01:32:43 +02:00

Opened #117 The web build uses npm, but REPO_POLICIES.md says yarn 2026-10-07 00:14:13 +02:00

Opened #119 README.md describes modes and the schema as they were, not as they are 2026-10-08 07:33:11 +02:00

Opened #121 IRC listener users are removed by the idle cleanup while still active 2026-10-08 08:48:56 +02:00

Opened #122 The IRC listener ignores channel keys, invites, +s and +H 2026-10-08 08:48:57 +02:00

Opened #123 SQLite never runs in WAL mode: the database URL uses a parameter the driver ignores 2026-10-08 08:48:57 +02:00

Opened #124 An empty IRC_LISTEN_ADDR does not turn the IRC listener off 2026-10-08 08:48:58 +02:00

Opened #125 History paging takes an id no response gives the client 2026-10-08 08:48:59 +02:00

Opened #127 The IRC listener drops lines and mode parameters, and accepts any channel name 2026-10-08 10:31:19 +02:00

Opened #128 Nicks are unique by exact case but compared ignoring case 2026-10-08 10:31:19 +02:00

Opened #129 IRC listener tests fail when run again: test databases are shared between runs 2026-10-08 10:48:16 +02:00

Opened #131 Handler and service tests can reuse a finished test's database 2026-10-08 12:02:01 +02:00