2025-09-27 - 2026-03-27

Overview

42 Active Pull Requests
45 Active Issues
Excluding merges, 3 authors have pushed 40 commits to main and 144 commits to all branches. On main, 116 files have changed and there have been 26689 additions and 4863 deletions.

40 Pull requests merged by 1 user

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

2 Pull requests proposed by 1 user

Proposed #94 feat: add traditional IRC wire protocol listener (closes #89) 2026-03-25 21:01:03 +01:00

Proposed #95 feat: move schema_migrations into 000_bootstrap.sql 2026-03-25 22:42:09 +01:00

40 Issues closed from 2 users

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

45 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 #34 [security] Store auth tokens as SHA-256 hashes instead of plaintext 2026-03-04 12:20:00 +01:00

Opened #35 [security] Add rate limiting to session creation and login endpoints 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 #41 [security] Add CSP headers for embedded web SPA 2026-03-04 12:20:04 +01:00

Opened #40 [feature] Implement queue pruning and message rotation 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