Block a user
Stopping the server leaves IRC listener sessions in the database, so after a restart their nicks are taken for up to 30 days
History is keyed by name, so the next holder of a nick or of a channel name can read the previous holder's messages
No decision needed from the owner: README.md already makes the user ID the identity and limits channel history to members, so history bound to the session and channel ids is built, as the audit…
A hashcash stamp is spent before the request can still fail, so a refused request costs the client a new proof
A message that arrives between the first poll and the broker wait is delivered only after the full long-poll timeout
The IRC accept loop does the reverse DNS lookup before handing the connection off, so one slow lookup stalls every new IRC connection
The IRC listener closes a connection that sends nothing for five minutes and never sends a PING of its own
Two clients of one session leaving at once broadcast its QUIT twice
JOIN is several statements with no transaction: +l is exceeded, two first joiners both become operator, and a JOIN racing the last PART gets 500
Check nicks on the IRC listener with the HTTP API's rule (closes #142)
The IRC relay adds a broker wait channel every 100 ms and removes none while the user is idle, so memory grows per idle IRC connection and stays after it closes
make test runs past the 20-second target
TestRequestTimeouts can answer 504 instead of 408 when the client stops sending
Proxy timing tests can fail when the test process is held up for 300 ms
TestBanNotes can fail when the test process is held up past the lookup timeout
Default rule file: a probe sent percent-encoded gets past its path rules
A popup save can undo a network switch the background saved while the save was in flight
Done as planned in sneak/AutistMask#644. Beyond the plan: the per-context queues are removed, since the lock also orders each context's own writes, and the StateRecovery…
fix: a popup save no longer undoes a network switch the background saved during it (closes #641)
A channel hashcash stamp can be spent more than once: the spent check and the record are two statements