AndroidIRCX IRCv3 Guide: What Modern IRC Capabilities Do
Understand AndroidIRCX capability negotiation, identity metadata, history, replies, reactions and diagnostics.
AndroidIRCX IRCv3 Guide: What Modern IRC Capabilities Actually Do
IRCv3 modernizes IRC through optional capabilities negotiated during connection. AndroidIRCX starts with CAP LS 302, requests features it understands, performs SASL when configured, sends CAP END, and completes normal NICK/USER registration. Unsupported capabilities are simply unavailable; the client and server agree on the usable subset.
The best diagnostic is IRCv3 Info, available from the options menu with the “v3” badge. It shows what the current server advertised and what was negotiated. Advanced users can inspect further details in Settings > Connection & Network > IRCv3 Diagnostics.
Identity and presence
account-notifyreports when a visible user logs into or out of an account.account-tagattaches an authenticated account name to supported messages.extended-joinincludes account and real-name information on joins.away-notifyupdates away state without repeated WHO polling.chghostreports username/host changes.setnamereports real-name changes.userhost-in-namesadds user/host information to NAMES entries when supported.multi-prefixexposes all relevant channel prefixes instead of only the highest one.
These capabilities improve state accuracy, but they do not grant permission to see hidden data. Server policy still decides what is visible.
Message metadata and reliability
message-tags is the envelope that carries metadata. server-time provides the server's timestamp, which is especially important for bouncers and history. Message IDs allow features to refer to a particular message. batch groups related messages, while labeled-response lets a client associate replies with the command that caused them. standard-replies provides more structured success, warning and failure information. echo-message lets the server echo accepted outgoing messages so the client can display the authoritative version.
History and conversation features
Where the server supports them, draft capabilities can enable chat history, replies, reactions, typing indicators, read markers, multiline messages, message redaction, channel context and channel rename events. Draft features are less universal and may evolve, so AndroidIRCX keeps experimental capability controls optional and off by default.
History is not the same as permanent storage. A network or bouncer decides how much it retains, who may retrieve it and whether account authentication is required. Local AndroidIRCX message history has its own device-side retention and backup choices.
Monitoring and automation
monitor and extended monitoring help track whether selected nicks are online without aggressive polling. Bot indicators can identify automated clients where a network implements them. None of these capabilities override flood limits, channel rules or operator permissions.
SASL is negotiated too
If the server advertises SASL, AndroidIRCX can authenticate during registration. A configured client certificate takes priority and activates EXTERNAL automatically. Otherwise configured account credentials use PLAIN or SCRAM-SHA-256; NickServ identify remains a post-connect fallback. See the connection guide and certificate guide.
Why a feature may be missing
A setting in the client is only one side of negotiation. The feature may be absent because the server does not advertise the capability, the network disabled it, authentication is required, an experimental toggle is off, or the current transport/gateway does not pass it correctly. Check IRCv3 Info before assuming the app is broken.
When reporting a problem, record the network, server hostname, transport, advertised capabilities and negotiated capabilities—without including passwords, SASL payloads or private messages. That gives maintainers protocol evidence instead of guesswork.
AndroidIRCX requests a broad modern set automatically, so most users never need to manage capability strings. The practical lesson is simple: IRCv3 is negotiation, not a version switch. Each successful capability adds one precise behavior while IRC remains usable on older servers.
Share this post
Found this helpful? Share it with others!