Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.
Undo the escaping on a tag value before reading it
IRCv3 escapes tag values, because `;` separates tags and a space ends them:
a semicolon travels as `\:`, a space as `\s`. `tag-value` took values as they
came, which was fine for the two things it was written for — a msgid and a
timestamp contain neither character — and wrong for anything else.
A reaction tally is one of the anything else. `emoji:nick;emoji:nick` arrives
with every separator written `\:`, so a reader that skips this step sees one
tally where there were three, and counts to match: the first emoji swallowing
the rest of the line as its list of nicks.
Values are unescaped now, `\\`, `\r` and `\n` included.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>