Commit Graph

  • 92d5145ac6 feat: add IRC wire protocol listener with shared service layer feature/irc-protocol-listener clawbot 2026-03-25 18:01:36 -07:00
  • f6d33e3ceb fix: rename 000_bootstrap.sql to 000.sql per issue spec feature/schema-migrations-000sql clawbot 2026-03-25 14:46:24 -07:00
  • a883d708a2 feat: move schema_migrations table creation into 000_bootstrap.sql user 2026-03-25 14:41:46 -07:00
  • 9a79d92c0d feat: implement Tier 2 channel modes (+b/+i/+s/+k/+l) (#92) main clawbot 2026-03-25 22:38:46 +01:00
  • e62962d192 fix: use in-memory SQLite for handler tests to fix CI timeout (#93) clawbot 2026-03-25 20:11:34 +01:00
  • 4b445e6383 feat: implement Tier 1 channel modes (+o/+v/+m/+t), KICK, NOTICE (#88) clawbot 2026-03-25 02:08:28 +01:00
  • 08f57bc105 feat: add per-IP rate limiting to login endpoint (#78) clawbot 2026-03-22 00:39:38 +01:00
  • 5f3c0633f6 refactor: replace Bearer token auth with HttpOnly cookies (#84) clawbot 2026-03-20 23:54:23 +01:00
  • db3d23c224 feat: add username/hostname support with IRC hostmask format (#82) clawbot 2026-03-20 06:53:35 +01:00
  • bf4d63bc4d feat: per-channel hashcash proof-of-work for PRIVMSG anti-spam (#79) clawbot 2026-03-18 03:40:33 +01:00
  • efbd8fe9ff docs: update README schema section to match sessions/clients tables (#76) clawbot 2026-03-18 03:38:36 +01:00
  • e36bd99ef6 security: enforce channel membership check in handleTopic (#75) clawbot 2026-03-17 12:47:00 +01:00
  • e9d794764b docs: document register/login and dual authentication model (#77) clawbot 2026-03-17 12:44:48 +01:00
  • 052674b4ee feat: add runtime statistics to healthcheck endpoint (#80) clawbot 2026-03-17 12:43:39 +01:00
  • cab5784913 feat: implement Tier 1 IRC numerics (#72) clawbot 2026-03-13 00:41:26 +01:00
  • 75cecd9803 feat: implement hashcash proof-of-work for session creation (#63) clawbot 2026-03-13 00:38:41 +01:00
  • f2e7a6ec85 [deps] Migrate from chi v1 to chi/v5 (#73) clawbot 2026-03-13 00:32:10 +01:00
  • 27df999942 Complete IRC numerics module and move to pkg/irc/ (refs #52) (#71) clawbot 2026-03-10 18:41:26 +01:00
  • b19c8b5759 Implement queue pruning and message rotation (closes #40) (#67) clawbot 2026-03-10 15:37:33 +01:00
  • 73cae71171 deps: migrate from go-chi/chi v1 to go-chi/chi/v5 feat/chi-v5-migration clawbot 2026-03-10 07:27:26 -07:00
  • 67446b36a1 feat: store auth tokens as SHA-256 hashes instead of plaintext (#69) clawbot 2026-03-10 12:44:29 +01:00
  • b1fd2f1b96 Replace string-matching error detection with typed SQLite errors (closes #39) (#66) clawbot 2026-03-10 11:54:27 +01:00
  • c07f94a432 Remove dead Auth() middleware method (#68) clawbot 2026-03-10 11:41:43 +01:00
  • a98e0ca349 feat: add Content-Security-Policy middleware (#64) clawbot 2026-03-10 11:20:15 +01:00
  • 706f5f6dcc feat: add Content-Security-Policy header for embedded web SPA feat/add-csp-headers clawbot 2026-03-10 03:17:55 -07:00
  • f287fdf6d1 fix: replay channel state on SPA reconnect (#61) clawbot 2026-03-10 11:08:13 +01:00
  • 687c958bd1 fix: add version field to /api/v1/server response (#62) clawbot 2026-03-10 11:05:10 +01:00
  • 946f208ac2 feat: implement IRC numerics batch 2 — connection registration, channel ops, user queries (#59) clawbot 2026-03-10 00:53:46 +01:00
  • 47fb089969 fix: IRC SPA cleanup — /motd, /query, Firefox / key, default MOTD (#58) clawbot 2026-03-09 23:00:34 +01:00
  • f8f0b6afbb refactor: replace HTTP error codes with IRC numeric replies (#56) clawbot 2026-03-09 22:21:30 +01:00
  • 38d222f6a7 Merge branch 'main' into fix/irc-numeric-replies fix/irc-numeric-replies Jeffrey Paul 2026-03-09 22:12:43 +01:00
  • 8e3166969e Redesign SPA to look like a proper IRC client (closes #50) (#53) clawbot 2026-03-09 22:12:34 +01:00
  • 8d91ad852c Replace HTTP status codes with IRC numeric replies in command handlers (closes #54) user 2026-03-08 01:16:04 -08:00
  • 8473520eb3 feat(web): overhaul SPA to look like a proper IRC client feature/irc-ui-overhaul user 2026-03-07 06:14:21 -08:00
  • c0e344d6fc Fix SPA: bundle preact instead of leaving as external require (closes #48) (#49) clawbot 2026-03-07 14:53:13 +01:00
  • 2da7f11484 Rename app from chat to neoirc, binary to neoircd (closes #46) (#47) clawbot 2026-03-07 14:43:58 +01:00
  • 6e7bf028c1 fix: change appname to neoirc, default DB to /var/lib/neoirc/state.db (#45) clawbot 2026-03-06 12:40:28 +01:00
  • 2761ee156a feat: split Dockerfile into dedicated lint stage for faster CI (#32) clawbot 2026-03-02 21:05:08 +01:00
  • 3b42620749 feat: split Dockerfile into dedicated lint stage fix/29-split-dockerfile clawbot 2026-03-02 00:03:04 -08:00
  • cd909d59c4 Merge pull request 'feat: logout, users/me, user count, session timeout' (#24) from feature/mvp-remaining into main Jeffrey Paul 2026-03-01 15:47:03 +01:00
  • f5cc098b7b docs: update README for new endpoints, fix config name, remove dead field clawbot 2026-03-01 06:41:10 -08:00
  • 4d7b7618b2 fix: send QUIT notifications for background idle cleanup user 2026-03-01 06:33:15 -08:00
  • 910a5c2606 fix: OnStart ctx bug, rename session→user, full logout cleanup user 2026-02-28 11:14:23 -08:00
  • bdc243224b feat: add session idle timeout cleanup goroutine clawbot 2026-02-27 05:06:56 -08:00
  • 5981c750a4 feat: add SESSION_IDLE_TIMEOUT config clawbot 2026-02-27 05:06:56 -08:00
  • 6cfab21eaa feat: add logout endpoint and users/me endpoint clawbot 2026-02-27 05:06:56 -08:00
  • 4a0ed57fc0 Merge pull request 'feat: password-based registration and login (closes #1)' (#23) from feature/auth-passwords into main Jeffrey Paul 2026-02-28 19:57:40 +01:00
  • 52c85724a7 fix: remove unused //nolint:gosec directives on password fields user 2026-02-28 10:33:59 -08:00
  • 69c9550bb2 consolidate password_hash into 001 migration clawbot 2026-02-28 07:59:01 -08:00
  • 7047167dc8 Add tests for register and login endpoints clawbot 2026-02-27 04:56:51 -08:00
  • 3cd942ffa5 Add /api/v1/register and /api/v1/login routes clawbot 2026-02-27 04:55:40 -08:00
  • b8794c2587 Add register and login HTTP handlers clawbot 2026-02-27 04:55:31 -08:00
  • 70aa15e758 Add RegisterUser and LoginUser DB functions with bcrypt clawbot 2026-02-27 04:55:06 -08:00
  • 5e26e53187 Add migration 002: add password_hash column to sessions clawbot 2026-02-27 04:54:31 -08:00
  • 02b906badb Merge pull request 'feat: MVP two-user chat via embedded SPA (closes #9)' (#22) from feat/mvp-two-user-chat into main Jeffrey Paul 2026-02-27 13:51:20 +01:00
  • 32419fb1f7 feat: MVP two-user chat via embedded SPA (#9) clawbot 2026-02-27 02:21:48 -08:00
  • 2d08a8476f Merge pull request 'dockerfile: use CGO_ENABLED=0 for binary builds (closes #13)' (#21) from fix/cgo-disabled into main feature/mvp-1.0 Jeffrey Paul 2026-02-27 08:47:10 +01:00
  • f0c4a5bb47 dockerfile: use CGO_ENABLED=0 for binary builds clawbot 2026-02-26 22:28:23 -08:00
  • cbc93473fc Merge pull request 'MVP 1.0: IRC-over-HTTP chat server' (#10) from feature/mvp-1.0 into main Jeffrey Paul 2026-02-27 07:21:34 +01:00
  • a57a73e94e fix: address all PR #10 review findings clawbot 2026-02-26 21:21:49 -08:00
  • f821d66670 fix: correct golangci-lint v2 module path in Dockerfile fix/dockerfile-golangci-lint-v2-module-path clawbot 2026-02-26 20:46:50 -08:00
  • 4b4a337a88 fix: revert .golangci.yml to main, fix all lint issues in code user 2026-02-26 20:45:47 -08:00
  • 69e1042e6e fix: rebase onto main, fix SQLite concurrency, lint clean clawbot 2026-02-26 20:25:46 -08:00
  • c7bcedd8d4 fix: pin golangci-lint install to commit SHA (fixes #13) fix/golangci-lint-sha-13 clawbot 2026-02-26 20:20:31 -08:00
  • 6043e9b879 fix: suppress gosec false positives for trusted URL construction clawbot 2026-02-20 02:06:31 -08:00
  • b7ec171ea6 build: Dockerfile non-root user, healthcheck, .dockerignore clawbot 2026-02-11 00:50:13 -08:00
  • 704f5ecbbf fix: resolve all golangci-lint issues clawbot 2026-02-10 18:52:17 -08:00
  • a7792168a1 fix: golangci-lint v2 config and lint-clean production code clawbot 2026-02-10 18:50:24 -08:00
  • d6408b2853 fix: CLI client types mismatched server response format clawbot 2026-02-10 18:23:19 -08:00
  • d71d09c021 chore: deduplicate broker tests, clean up test imports clawbot 2026-02-10 18:22:38 -08:00
  • eff44e5d32 fix: CLI poll loop used UUID instead of queue cursor (last_id) clawbot 2026-02-10 18:22:08 -08:00
  • fbeede563d test: add comprehensive test suite clawbot 2026-02-10 18:20:45 -08:00
  • 84162e82f1 Comprehensive README: full protocol spec, API reference, architecture, security model clawbot 2026-02-10 18:18:29 -08:00
  • 6c1d652308 refactor: clean up handlers, add input validation, remove raw SQL from handlers clawbot 2026-02-10 18:16:23 -08:00
  • 5d31c17a9d Revert: exclude chat-cli from final Docker image (server-only) clawbot 2026-02-10 18:10:45 -08:00
  • 097c24f498 Document hashcash proof-of-work plan for session rate limiting clawbot 2026-02-10 18:10:32 -08:00
  • 368ef4dfc9 Include chat-cli in final Docker image clawbot 2026-02-10 18:10:05 -08:00
  • e342472712 Update Dockerfile for Go 1.24, no Node build step needed clawbot 2026-02-10 18:09:24 -08:00
  • 5a701e573a MVP: IRC envelope format, long-polling, per-client queues, SPA rewrite clawbot 2026-02-10 18:09:10 -08:00
  • 9daf836cbe Merge pull request 'fix: repo standards audit — fix all divergences (closes #17)' (#18) from fix/repo-standards-audit into main ci/make-check Jeffrey Paul 2026-02-27 05:10:00 +01:00
  • 84303c969a fix: pin golangci-lint to v2.1.6 in Dockerfile clawbot 2026-02-26 11:43:52 -08:00
  • d2bc467581 fix: resolve lint issues — rename api package, fix nolint directives clawbot 2026-02-26 07:45:37 -08:00
  • 88af2ea98f fix: repair migration 003 schema conflict and rewrite tests (refs #17) clawbot 2026-02-26 06:28:07 -08:00
  • b78d526f02 style: fix all golangci-lint issues and format code (refs #17) clawbot 2026-02-26 06:27:56 -08:00
  • 636546d74a docs: add Author section to README (refs #17) clawbot 2026-02-26 06:09:08 -08:00
  • 27de1227c4 chore: pin Dockerfile images by sha256, run make check in build (refs #17) clawbot 2026-02-26 06:09:04 -08:00
  • ef83d6624b chore: fix Makefile — add fmt-check, docker, hooks targets; 30s test timeout (refs #17) clawbot 2026-02-26 06:08:47 -08:00
  • fc91dc37c0 chore: update .gitignore and .dockerignore to match standards (refs #17) clawbot 2026-02-26 06:08:31 -08:00
  • 1e5811edda chore: add missing required files (refs #17) clawbot 2026-02-26 06:08:24 -08:00
  • 3f8ceefd52 fix: rename duplicate db methods to fix compilation (refs #17) clawbot 2026-02-26 06:08:07 -08:00
  • 0b132cfbf4 fix: replace conflicting migration 003 with no-op fix/main-lint-issues user 2026-02-20 03:31:02 -08:00
  • a9586eb95f fix: resolve funcorder and noinlineerr issues user 2026-02-20 03:30:01 -08:00
  • 2f6d1f284c fix: resolve cyclop, funlen issues by extracting helper methods user 2026-02-20 03:29:18 -08:00
  • 037202280b fix: resolve nestif issues by extracting helper methods user 2026-02-20 03:26:46 -08:00
  • e0da78f17c fix: resolve wsl_v5, lll, noinlineerr, and gosec lint issues user 2026-02-20 03:26:06 -08:00
  • db3b0bfee1 fix: resolve ireturn lint issues user 2026-02-20 03:22:32 -08:00
  • a3c26c415e fix: resolve funcorder lint issues user 2026-02-20 03:22:03 -08:00
  • 2c89b23bea fix: resolve forcetypeassert lint issues user 2026-02-20 03:21:14 -08:00
  • 0be5e80b85 fix: resolve rowserrcheck lint issues user 2026-02-20 03:21:02 -08:00
  • f6ca154315 fix: resolve mnd lint issues with named constants user 2026-02-20 03:20:26 -08:00