IRCv3 is shaping to be amazingly good!

here's the things it offers, today, right now, on a chat server we just set up in one evening:

  • you don't need a bouncer (friggin finally)
  • there are moblie clients that work well
  • you can see backlog when joining a channel
  • you can browse chat history
  • you can connect from multiple devices with one account and nickname
  • if you disconnect, your nickname is still present in a channel you joined, marked as away
  • you can highlight or DM people who are away and they'll see your message when they join (without crutches like MemoServ)
  • there is a "last read message" marker and it is synchronized between multiple connections
  • messages have identifiers (and server timestamps) and replies can be tagged with the message you're replying to
  • messages can be redacted (for moderation)
  • you don't need to deal with fussy nonsense like NickServ authorization, ghosting, or such; connect with your username and password and that's it
  • there are typing notifiers, if you want them
  • there are message reactions, if you want them

here's the things it does not offer:

caveat: since IRCv3 is a true extension of IRCv2, the features listed above work if they're supported by both the server and the client. in my onboarding experience so far, people do not find it difficult to find a suitable client, but your mileage may vary. on the flipside, legacy clients will work just fine.

unexpectly, i realized that IRCv3 can completely replace Matrix rooms for my own group chat purposes, and i'm probably not going to set up any Matrix homeservers again; it's just not worth it and frankly I should instead put that effort into coming up with a file upload IRCv3 extension or something

Add filehost by emersion · Pull Request #562 · ircv3/ircv3-specifications

This is shipped by soju + gamja + goguma + senpai as a vendored spec, and is based on an earlier draft by @progval.

GitHub
in summary, i feel incredibly validated in being a long-time IRC holdout :D

Which network is going to be the first to shift to this, do you speculate?

@whitequark

@futuresprog Libera is rolling out IRCv3 soon, which is going to be big https://libera.chat/news/new-and-upcoming-features-3
New And Upcoming IRCv3 Features

Adding message-tags, batch, msgid, and invite-notify.

Libera Chat

@whitequark @futuresprog they've had "IRCv3 support" since inception AFAIK (I believe even freenode had it)

what they're rolling out is support for some extensions to IRCv3, in particular the `message-tags` specification which will support things like `+draft/reply` by adding a new capability to add a bunch of metadata to a message (which involves bumping the line length up 8191 bytes, allowing for just under 4K of tag data)

IRCv3's capability negotiation is such a powerful way to let the ecosystem continue to grow in a way that allows more granular specifications

@whitequark @futuresprog it doesn't really help matters the IRCv3 working group has just kinda given up on versioning the whole thing and now there's "the modern IRC protocol" at the core and the cloud of extensions

so there's no versioned document you can point at and say IRCv3.x as there was with IRCv3.1 and IRCv3.2, and I'm not sure the smaller granular extension specifications have any versioning either. it all manages to hold together nonetheless, I guess because they don't make breaking changes (because all in the extensions, the core got it very right pretty early, especially if an implementation has the combination of capabilities AND tags)

@SnoopJ @whitequark @futuresprog yeah the whole point of v3 is the capability negotiation mechanism, with everything else being optional and up to the client to choose, so you can't really version it
@classabbyamp @SnoopJ @futuresprog it's like USB type-C!
@azonenberg @whitequark @classabbyamp @SnoopJ @futuresprog So you're saying that getting heated over IRC conversations is a _feature_.