What
IRCv3 chathistory capability — let a client request prior channel/query
message history on rejoin or on demand.
Why it's deferred, not forgotten
specs/001-ircv3-server/spec.md's capability-scope clarification: "Minimal
core set only — message-tags, server-time, and echo-message...
Broader capabilities (SASL beyond the minimum needed for Story 3,
account-notify, away-notify, batch, chathistory, etc.) are deferred to
a later iteration."
Current state — genuinely blocked, but not on accounts
Corrects earlier scoping (this was originally bundled into #4 alongside
away-notify/batch and account-notify, with an incorrect assumption that it
depended on the account module). It doesn't — channel history doesn't
require knowing who's authenticated, only which channel.
The actual blocker: there is no message-persistence/logging layer
anywhere in this codebase. Confirmed — no JDBC/SQLite/database code
exists at all; WhowasHistory is an in-memory nickname-identity log
(who last held a nickname), not a message-content log. Building this
capability means designing and adding storage infrastructure first, which
is a larger and more architecturally separate piece of work than wiring up
an existing concept.
Relates to
What
IRCv3
chathistorycapability — let a client request prior channel/querymessage history on rejoin or on demand.
Why it's deferred, not forgotten
specs/001-ircv3-server/spec.md's capability-scope clarification: "Minimalcore set only —
message-tags,server-time, andecho-message...Broader capabilities (SASL beyond the minimum needed for Story 3,
account-notify, away-notify, batch, chathistory, etc.) are deferred to
a later iteration."
Current state — genuinely blocked, but not on accounts
Corrects earlier scoping (this was originally bundled into #4 alongside
away-notify/batch and account-notify, with an incorrect assumption that it
depended on the account module). It doesn't — channel history doesn't
require knowing who's authenticated, only which channel.
The actual blocker: there is no message-persistence/logging layer
anywhere in this codebase. Confirmed — no JDBC/SQLite/database code
exists at all;
WhowasHistoryis an in-memory nickname-identity log(who last held a nickname), not a message-content log. Building this
capability means designing and adding storage infrastructure first, which
is a larger and more architecturally separate piece of work than wiring up
an existing concept.
Relates to
chathistoryconventionally delivers results wrapped in abatch, so away-notify and batch capabilities #4 landing first would provide useful groundwork.