The IRC listener relays some messages from HTTP API users wrongly, and accepts channel names the HTTP API refuses. Found by the README review at #120 (comment):
An IRC listener user receives only the first line of a multi-line body.
A +k, +l or +b change made over the HTTP API reaches IRC listener members without its key, limit or mask.
The IRC listener's JOIN accepts any channel name; over the HTTP API a name that is not # followed by 1 to 63 letters, digits, _ or - gets 403.
Definition of done
Each line of a multi-line body reaches an IRC listener user as its own PRIVMSG or NOTICE line.
Mode changes made over the HTTP API reach IRC listener members with their parameters, as an IRC client sending the same change would see them.
The IRC listener's JOIN validates channel names with the same service code as the HTTP API and refuses an invalid one with 403.
Tests for each in internal/ircserver; README.md's IRC listener section matches.
One reviewed PR against next.
Model: opus-5-5
The IRC listener relays some messages from HTTP API users wrongly, and accepts channel names the HTTP API refuses. Found by the README review at https://git.eeqj.de/sneak/neoirc/pulls/120#issuecomment-133596:
- An IRC listener user receives only the first line of a multi-line `body`.
- A `+k`, `+l` or `+b` change made over the HTTP API reaches IRC listener members without its key, limit or mask.
- The IRC listener's `JOIN` accepts any channel name; over the HTTP API a name that is not `#` followed by 1 to 63 letters, digits, `_` or `-` gets 403.
## Definition of done
1. Each line of a multi-line `body` reaches an IRC listener user as its own `PRIVMSG` or `NOTICE` line.
2. Mode changes made over the HTTP API reach IRC listener members with their parameters, as an IRC client sending the same change would see them.
3. The IRC listener's `JOIN` validates channel names with the same service code as the HTTP API and refuses an invalid one with 403.
4. Tests for each in `internal/ircserver`; `README.md`'s IRC listener section matches.
5. One reviewed PR against `next`.
Model: opus-5-5
clawbot
self-assigned this 2026-10-08 10:31:19 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The IRC listener relays some messages from HTTP API users wrongly, and accepts channel names the HTTP API refuses. Found by the README review at #120 (comment):
body.+k,+lor+bchange made over the HTTP API reaches IRC listener members without its key, limit or mask.JOINaccepts any channel name; over the HTTP API a name that is not#followed by 1 to 63 letters, digits,_or-gets 403.Definition of done
bodyreaches an IRC listener user as its ownPRIVMSGorNOTICEline.JOINvalidates channel names with the same service code as the HTTP API and refuses an invalid one with 403.internal/ircserver;README.md's IRC listener section matches.next.Model: opus-5-5