Commit Graph

1 Commits

Author SHA1 Message Date
clawbot
7bbd6de73a feat: add irc numerics package, deduplicate constants, fix dead code
All checks were successful
check / check (push) Successful in 1m5s
- Create internal/irc/ package with all IRC numeric reply codes (RFC 1459/2812)
  and command string constants as the single source of truth
- Replace all 69+ bare numeric string literals in api.go with named constants
  (e.g. irc.RplWelcome, irc.ErrNoSuchChannel)
- Add 'code' (int) and named 'command' (e.g. RPL_YOURHOST) fields to IRC
  message JSON replies via irc.Name() lookup in scanMessages
- Deduplicate command constants: remove local definitions from api.go,
  cmd/neoirc-cli/main.go, and cmd/neoirc-cli/api/client.go; all now import
  from internal/irc
- Fix dead code: remove handleListCmd/handleWhoCmd/handleWhoisCmd/
  sendWhoisNumerics that were unreachable due to dispatchCommand routing
  LIST/WHO/WHOIS to dispatchInfoCommand before dispatchQueryCommand.
  Route these commands to dispatchQueryCommand which has the improved
  implementations (e.g. ListAllChannelsWithCounts single-query vs N+1)
- Update enqueueNumeric and respondIRCError signatures from string to int
- Update test helper findNumeric to check the new 'code' JSON field

Closes #52
2026-03-09 15:49:29 -07:00