Conversation
Edited 20 days ago

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

47
8
1

@whitequark can you still use an irc client that doesnt support ircv3 in a server/channel with ircv3 users?

3
0
0

@artemis yep! it just falls back to the 'classic experience'

you can do things like type /chathistory manually and get old messages retransmitted to you, like it's a bouncer

1
0
0

@whitequark im very set in my ways with irc and will probably never quit my irssi-in-tmux-on-a-server ways lol

1
0
0

@artemis i quit that for matrix after it became personally unusable for me but yeah that works just fine still

0
0
0

@mcc You are in queue position 5 of 10 to download CATDANCE.GIF

@whitequark

0
0
0

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

3
0
1

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

@whitequark

1
0
0

@whitequark
> you don't need a bouncer

WHAT

okay now I'm definitely interested

1
0
0

@groxx yeah it just works the way you'd expect haha

0
0
0

@fruitcakesareyum @groxx keeping chat history with intermittent connectivity or machines not always powered up

1
0
0

@whitequark Intriguing. Any recommendations for compatible servers and clients?

If session persistence is a thing now, that feels like a real step forward for IRC (having to use a bouncer or a client running on a server somewhere is a high bar for a lot of people, especially more casual users).

1
0
0

@whitequark Hm. Would the server lose the backlog and the rest of the state if it's restarted, or is it supposed to store it all now?

1
0
0

@whitequark

Feels like this should have been news from around 2000.

1
0
0

@whitequark I’ve found myself thinking of going back to IRC, and this gives me more reasons than I has hoped for!

Ps. I think everybody is finally using Utf-8.. please? 😜

1
0
0

@gimulnautti yes, UTF8ONLY is a feature now

0
0
0

@whitequark
File uploads could probably be kludged exclusively on the client side with something like
```
START FILE UPLOAD
METADATA <metadata>
BODY <base64 file contents>
END FILE UPLOAD
```
although it would be problematic in that it would show up as spam for anyone without the client extension, and would be less efficient than a binary solution. It could work the same with image, audio, video, and stickers, since those are all just specially tagged files. Could even work for streaming (hence live audio/video calls) if the files are chunked right, maybe adding CONTINUE BELOW and CONTINUED FROM ABOVE indicators.

Of course, that would be stupid, since a 2MB file would take more characters than make up the entire LotR trilogy (~2.3M) under this encoding scheme, all of which would be shown in their raw form to any user with an incompatible client (unless IRC lets users handle this somehow). Maybe there's a reason people leave some things to the server.

I realize I have just given an oversimplified description of how XMPP handles (or maybe handled, depending on implemented XEPs) file uploads.

(please don't interpret this as me trying to fedisplain how you should implement a file upload protocol. don't implement it this way, please.)

2
0
0

@anonax I have XMPP file transfer trauma. for reals.

I still remember what bz2|base64 starts with because it was more reliable to do that to send small files.

(it's Qlp...)

1
0
0

Yeah. IRCv3 is good, unless you dont care about one of basic features of all modern instant messaging: presence.

1
0
0

@nawanp matrix has no presence, discord technically has it but ime it has no correlation whatsoever to whether i'll get a response so... yeah? i don't care about presence

1
0
0
@whitequark year of the IRC desktop
1
0
0

@nyx "year of IRC on phones" is probably the true correspondent though hah

1
0
0
@whitequark I was gonna say that aside from file uploads I think the main thing holding back IRC from being generally recommendable rn is the lack of good mobile clients lol
3
0
0

@nyx goguma is very barebones but like. It does let you chat just fine

I totally agree with the uploads, I should either start or join a draft spec for this

1
0
0

@nyx @whitequark is there actually a good mobile IRC client now? last i checked the landscape was quite bad. there was like one mobile client i kind of liked that supports modern features but it only supports connecting to one server at a time (which makes it completely unusable)

ATM i’m just using IRC over Biboumi (XMPP-IRC bridge) and Conversations (XMPP client).

2
0
0

@kimapr @nyx goguma still has that bug open yeah. lolsob

0
0
0
imean on boarding tools can probably be handled as server bots , right ?
1
0
0

@fiore yes but it is a specialized fussy skill not a lot of people have

1
0
0
@whitequark down the line I could see it shaping up into a really solid mobile client, but rn it still feels too minimal and buggy unless you're already a free software tech nerd who is used to that kinda thing. which is fine for me but I'd like as many people as possible to use IRC and ditch all these stupid chat apps besides Signal that are becoming Literal 1984
1
0
0

@nyx yeah i can't argue with that

btw file uploads are being actively worked on so i'm quite hopeful about 2026 being the year irc comes back

1
0
0

@whitequark Is there a particular section on ChanServ? It's where most balancing goes for networks.

1
0
0
@whitequark that would be huge, last I remember reading about ircv3 file uploads weren't a thing that was being pursued because it was considered out of scope of what IRC is supposed to be but maybe that's changed? ircv3 is one area where I'm actually sorta hopeful that the free software community will get its shit together and make a chat app that works and is comfortable to use even for normies since all the competition is currently shooting itself in the foot whereas IRC has traditionally been a thing that a lot of people who know how to program can agree on in some capacity at least
1
0
0

@whitequark Splits and joins, flooding chanserv with re-opping/voicing and stuff.

1
0
0

@7adi there should be improvements here but as i havent seen how they work in the wild yet i can't comment

0
0
0

@whitequark I described IRC to a friend recently as the cockroach of chat protocols.

It's old, it's barely evolved in 30+ years (millennia in computer-years), it's ugly... but it's also impossible to kill and will probably outlive everything else on the planet.

When the asteroid strike or nuclear war or whatever extinction event finally wipes humanity off the planet, the roaches and extremophile bacteria will be IRCing each other via whatever remnants of the internet are still functional.

1
0
0

@whitequark

Actually, it has. The difference is that, unlike XMPP and other centralized IMs, presence in Matrix is part of room state synchronization. But because of this, presence is heavy and far from scalable (see https://github.com/element-hq/synapse/issues/9478).

Oh, and I forgot to mention that IRC also lacks a roster (a.k.a buddy/friend/contact list). But depending on your needs, I think this can be both good and bad.

1
0
0

@nawanp if it's not enabled on matrix.org due to scalability issues it might as well not be a real feature, which is how I treat it

0
0
0

@val not gonna lie, I haven't expected to be excited for any chat system a few days ago when I first set ergochat up, but I am definitely excited about IRCv3. very much "the right thing, in the right place, at the right time"

some improvements are needed for it to be really widely usable but it's already at a point where beating 2005 statistics seems like it could happen

1
0
0

@whitequark so I always thought one of the biggest issues with IRC was the fragile spanning tree structure of the network. Is that still there in v3?

1
0
0
IRCv3 is good but one of the biggest things blocking adoption is the stubborness of the community

Which makes sense given the age of IRC, but it sucks when many servers just don't bother to support a lot of the coolest IRCv3 features
1
0
0

@robot I haven't personally seen any stubbornness, my impression was it's mostly just age of ircds and development constraints (but I mostly care about Libera)

0
0
0

@whitequark The hard part is still that this experience breaks down as soon as you need to join an existing community which does not run on a modern server

1
0
0

@whitequark @fruitcakesareyum the bane of mobile devices in particular.

basically you completely lose chat history while offline, because there is no chat history in IRC*, servers are practically just a fancy ephemeral signal-repeater*. so a bouncer would stay always-connected for you, keeping that history, and would replay* it when you reconnected.

last time I used irc moderately, I did it via irccloud, which acts as a bouncer for you. ircv3 might mean I no longer need that, but otherwise I liked it a lot (a couple years ago), definitely recommend.

*: drastically over-simplifying to the point that it's no longer accurate, but I believe it fits the user experience / need well enough

0
0
0

@fruitcakesareyum @groxx it's not quite public (you can set it up so newly joined people can only read history since they joined)

1
0
0

@val this is not an issue for the "i need a not discord please" use case at least

0
0
0

@davidgerard v3 says nothing about s2s comms, but Libera folks are also working (separately) on improving that

personally I just run a single IRCd instance because I do not need more distsys nonsense in my life and a single midsized VPS can handle thousands of connections already

1
0
0

@davidgerard anecdotally, I haven't found that netsplits are a problem on modern IRC; they are no longer a gaping security hole, so it is just a minor annoyance that v3 essentially hides from view by having history retrieval and message grouping (for bulk joins/quits)

0
0
0

@whitequark That sounds really cool!

If someone wanted to experiment with self-hosting a small, non-federating IRCv3 server on Linux, what would you recommend?

1
0
0
pedantic quibble (IRC subtype)
Show content

@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

2
0
0
pedantic quibble (IRC subtype)
Show content

@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)

1
0
0
pedantic quibble (IRC subtype)
Show content

@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

1
0
0
re: pedantic quibble (IRC subtype)
Show content

@classabbyamp @SnoopJ @futuresprog it's like USB type-C!

1
0
0
@whitequark IRC has file upload now (with soku.im/FILEHOST, soon to be draft/FILEHOST) for ordinary http uploads
1
0
0

@pounce yepyep I figured this out and added an edit!

1
0
0
@whitequark ah my bad! the edit didn't federate

there's still a lot of work to do in ircv3 but we're making really big progress!
1
0
0

@pounce I am incredibly impressed yeah!

0
0
0

@whitequark unfortunately you still need a bouncer for mobile clients. goguma+soju are great but no other pair supports their extensions

1
0
0

@oreolek I use goguma with ergochat and no bouncer

1
0
0

@whitequark for someone like me that wants to try out an IRCv3 stack after years out of the IRC ecosystem, is there a particular server you'd recommend?

1
0
0

@whitequark A serious question: I see that the major strength compared to Matrix is simplicity. How does IRCv3 compare to XMPP? I often find people mumbling about XMPP, but I don't really know why.

1
0
0

@vojta001 I used to be an XMPP diehard years ago and I'm quite happy with IRCv3 today, but I haven't used 'modern' XMPP much

IRCv3 has no E2EE obviously

0
0
0

@whitequark Some of the features are actually pretty awesome for IRC (and standard in most other protocols already).

But even ā€œthe IRC from back thenā€ was capable of a lot of great stuff. Unfortunately pretty much ALL clients focused on simple text chat only and there were literally (literally, not figuratively) no ā€œmodern clientsā€ using all of the features to create an experience that is similar to what we have today in most non-IRC chat clients.

1
0
0

@whitequark
Can it be set up to only keep the last x messages so there's some level of anonymity/ephemerality without compromising the experience?
@fruitcakesareyum @groxx

1
0
0

@ddlyh @fruitcakesareyum @groxx I haven't looked but worst case you could make a cronjob to clear the database if you want a very specific setup

1
0
0

@whitequark
I thought IRCv3 was going to include reliance on a cryptocurrency blockchain? Did that horrible proposal get defeated?

1
0
0

@ddlyh literally never heard of it

0
0
0

@whitequark software. I'm looking at the comparison table on IRCv3.net and it seems like Ergo is the most feature complete, but I value any opinions on what to try out.

1
0
0

@whitequark @ddlyh @fruitcakesareyum tbh I suspect this is something servers will add support for pretty quickly, if the first v3 supporting versions don't have it - not wanting a full history seems fairly common in the IRC world, relatively speaking

1
0
0

@groxx @ddlyh @fruitcakesareyum basically every channel i'm in is publicly logged and indexed forever, so I can't relate personally

1
0
0

@whitequark @ddlyh @fruitcakesareyum very much same, and for any large or public channel I think that needs to be assumed regardless.

but not all servers fit that profile, so ĀÆ\_(惄)_/ĀÆ

1
0
0

@groxx @ddlyh @fruitcakesareyum yes, I'm just saying that I'm not the one you should consult here haha

1
0
0

@whitequark

This diverges significantly from IRC protocol, and if they start allowing non-text payloads (malware vector) they should change the protocol name to be clear and not sully the good name of IRC.

1
0
0

@whitequark @oreolek for ergochat servers, there’s basically no reason to run a bouncer. if you’re on multiple servers where some of them don’t have chathistory (or like a ton of servers in general), then it does make sense to run soju (which does support multiple users if needed, and there are hosted services for it, e.g. chat.sr.ht ).

1
0
0

@oreolek @ignaloidas but it has chathistory, should be fine, no?

1
0
0

@whitequark @oreolek webpush is for notifications when you get mentioned without the IRC app maintaining a connection to the server - kinda useful for phones, but I don’t find it that much of a deal

1
0
0

@ignaloidas @oreolek right, I guess I use IRC very asynchronously

1
0
0

@whitequark this, very much this.

I have told people in a few different avenues that I regret recommending Matrix and that we should go back to IRC, and everybody keeps being snarky about it, even after telling that IRCv3 has actually the parts that are useful. Then the snark goes to saying that IRCv3 is vaporware. Which I debunk, then the moving goalpoast goes to the lack of stickers and/or reactions, then finally to IRC servers being hard to run (rich, coming from people who never set up any chat server, while I have), and so on. It gets tiresome. The last one I heard: ā€œbut then I need an IRC client and I cannot just use a browser tabā€ šŸ¤·ā€ā™‚ļø

2
0
0

@aperezdc oh man these people sound tiresome

i was a heavy ircv3 skeptic (despite consistently relying on irc for the past... 15 years? libera's adoption was slow) but all it took was one evening to play with it to understand that it really is very different now

1
0
0

@whitequark ah, sorry about the ranty post, I realize that maybe you didn't want to read that... But yeah, IRCv3 is neat, and it is actually a real thing people can use today.

1
0
0

@whitequark Funnily enough, user+password auth was one of my criteria when picking an IRC(v2)d a few years ago. I didn't feel like setting up services and felt that "user+pass lets you in and gives you a 'vanity domain'" was Good Enough between trusted participants.

(The server is publicly reachable for Reasons but auth is required.)

1
0
0

@snowfox also, i think would be quite silly to have chat software in 2026 that is dangerous to expose to the internet!

0
0
0

@whitequark Do you host your own server? What communities do you hangout in? My experience so far has been most communities are on Libera and OFTC which don't support most of the v3 features (libera will support message tags soon though 🄳). Soju as a bouncer has been nice though to deal with lack of v3 features on those networks.

1
0
0

ćƒ†ć‚£ćƒ¼ć‚øć‚§ćƒ¼ć‚°ćƒ¬ć‚§

Edited 18 days ago
Huh, I guess file transfers were never "officially" part of IRC?

I kind of forgot given one of my friends in high school (I graduated in 1994) was running (x)dcc warez bots on popped shells all over the place.

"Nature finds a way" or something. ;)

A lot of those other deficiencies apparently ameliorated by IRCv3 were also addressed in SILC, decades ago, e.g.

1. unique identity based on public key cryptography, so you can have individuals with identical nicknames on the same server/network (just like real life has people with identical names, but different DNA). So: no need for NickServ. UNIX/Linux: still never figured this one out. Windows/NT/Active Directory has UUIDs, but z0mg, so broken [esp. with UTF-8/Unicode usernames]! Do not recommend as a viable alternative either.

2. channel "founder" status, so riding netsplits to takeover channels with ops? Eliminated. So: no need for ChanServ.

3. /disconnected mode. So no need for a bnc to store/forward messages.

SILC also had things such as:

end-to-end encryption, by default.
Perfect Forward Secrecy, by default
Messages are encrypted from server operators, by default (this is still rarely acknowledged as a real threat, perhaps the lawsuit against WhatsApp with whistleblowers alleging that they were able to read users' presumed private messages, en masse, will start to open up folks' eyes to that threat model? I have similar horror stories I've kept private for decades that were shared as gloating points by some less scrupulous hackers with whom I crossed paths.)

Additionally, private messages can be cryptographically signed (for an added layer of comfort I guess?).

Circa 2014 I released an encrypted OpenBSD VM with some tools to show a proof of concept of tunneling OTR (https://otr.cypherpunks.ca/) over SILC, just because well: why put all your eggs into one basket? I also threw in Tor, for folks who wanted to torify things; and I made sure all the clients were configured to be UTF-8 clean. I called it: "Merry Cryptmas" and uploaded it to archive.org with a 30 day retention, because I didn't want folks to run into stale Docker container type vulnerabilities.

Best part? I didn't need to write a single line of code! That was all using existing libre/free open source software.

I guess it is debatable whether configuring some clients to handle UTF-8/Unicode gracefully is writing code? IMHO, such things should have been defaults (particularly in 2014 by which point UTF-8 was already over two decades old) but at least everything supported UTF-8/Unicode even if it had braindead ASCII defaults.

Meanwhile, in 2026: Discord face scan/ID debacle has apparently asploded to the point where in the past day or two: Twitch has turned every chat into "Verified Accounts Only" and the old loop hole of: "I am a subscriber, thus obviously, I am a verified account" no longer seems to function!

Brilliant! /sarcasm

Twitch want me to "verify" with a phone number, but the VoIP # I have used quite successfully for nearly two decades, is apparently not considered "blessed" in whatever broken database Twitch uses (presumably the same database that is used by LiveNation/TicketMaster, Discord, etc.).

Particularly ironic: Twitch Chat is derived from IRC. I had zero problems connecting to it years ago via irssi! Though, I met some junior midwestern sysadmin at TwitchCon last year who seemed amazed I had gotten that to function. I think he maybe wasn't enough of a nerd or something?

So, IRC: which required: no email addresses, and no phone numbers? Developed in an era when folks coding stuff online probably still had very fresh memories of AT&T as being a convicted monopoly and best avoided entirely Is now being perverted by the machinations of broligarch billionaire Jeff Bezos' minions to require both! It's as if they took jwz's law of software (see: https://en.wikipedia.org/wiki/Jamie_Zawinski#Zawinski's_Law ), and decided it wasn't Tetsuo Shima mutation scene from ć‚¢ć‚­ćƒ©ć€ŒAKIRA怍enough. sigh

Year of the Fire Horse is off to a ragin start! Of, stupidity, apparently?

"There are typing notifiers, if you want them
there are message reactions, if you want them"

Interesting! I do not want them. I do not want message read receipts either. I also do not want message "likes", emoji-reactions, etc. (I realize, it's too late for ActivityPub/Mastodon which already has such things).

Those IMHO, are all anti-patterns and going backwards in usability and create perverse social incentives. ;(

I think the current hearings with Mark Zuckerberg testifying about how addictive IG/Meta/FB/etc. are may raise similar issues? I wonder how he will wriggle under scrutiny?

Particularly given that one of my other friends from high school used to work for that conglomerate (incidentally, his team apparently helped give their avatars legs so they weren't just disembodied 3D heads!) and told me, first hand, that they studied uhh, what would the dumbed down euphemistic term be, "engagement metrics"? Something like that. Basically every little feature was more or less A/B tested to see what would be the most addictive possible and that's what got deployed. I doubt that friend will get subpoenaed. Moreover, that friend and I still see each other infrequently and I wouldn't wish court room appearances on my worst enemies, let alone friends.

"Television is the last technology we should be allowed to invent and put out without a surgeon general's warning."ーAlan Kay

IMHO, Alan Kay was mistaken, Television, should also have shipped with a surgeon general's warning.

Similarly, Australia and all these other countries banning "social" media for 16 and under? IMHO, it doesn't go far enough no one should be using that crap. Ah well!

As I get older, I increasingly seem to relate to Gene Wilder's portrayal of Willie Wonka with the despondent delivery of lines such as, "No. Stop. Don't." As children must learn these things for themselves or something?

Still, IRC iterating, is kind of charming, in its own way.

Is NNTP iterating? I realize, NNTP still exists too, but it seemed much less progressive. NZBs were more or less dug by a limited subset of the warez scene which perpetuated commercial alt.binaries servers with long retention policies. Meanwhile, FTP warez stuff, though it evolved TLSed FXPing, largely seemed overshadowed by Torrenting decades ago; while outspoken security experts such as @tqbf@infosec.exchange couldn't seem to be convinced that FTP is older than TCP/IP and there's something rather charming to such a venerable protocol which survived the NCP to TCP transition.

CC: @whitequark@treehouse.systems
0
0
0

@whitequark this is really exciting! out of interest, assuming it might be some time before libera/oftc get v3 support, is there some kind of "bouncer" i could run to use an ircv3 client with these servers to basically just get a more reliable version of what i have today with ZNC, per-client history replay, and the push plugin?

2
0
1
Edited 18 days ago

@codimp i use ergochat, goguma, and halloy; there's nothing special in the configuration, it follows the projects' docs

0
0
0
@cas @whitequark liberal has very limited v3 features right now, and is adding a few new ones soon: https://libera.chat/news/new-and-upcoming-features-3, so the trend is for more of those things to work on it

though i wish smaller networks would come to existence, it's kind of sad how many projects only exist on those 2 big ones -- kind of been dreaming of a ircd that dynamically spins up irc servers with a pretty ui, under a subdomain or custom domain, so people would be able to make individual servers like it works on discord with their guilds
1
0
0

@navi @cas i have a nix configuration that does basically this (and ergochat supports SNI too...), the limiting factor will probably be the lack of multi-network support in goguma's UI

1
0
0
@whitequark @cas

goguma has an open ticket to support multiple uis (i honestly hope for a future where we can leave bouncers in the past)

being able to spin up servers with something similar to https://ircv3.net/specs/extensions/account-registration in the future would be great
1
0
0

@navi @cas the issue has been open for 2.5 years so i'm not holding my breath it's gonna be fixed within the next few years

0
0
0
pedantic quibble (IRC subtype)
Show content

That’s a more clever way to upgrade a federated system without a huge cutover

@SnoopJ @whitequark

0
0
0

@whitequark
Wow that really sounds great and promising, thanks a lot for sharing this very nice and quite exhaustive summary!
Here I've actually never stopped using IRC (plus its relative simplicity makes it really easy to implement useful status bots).
Note that if we won't really need bouncers anymore, we could still use these for a smooth transition until more networks adopt IRCv3. ZNC for instance implements more and more server and client IRCv3 features

0
0
0

@whitequark oh, very cool. I wonder if now would be a good time to revive my IRCaudio extension I was working on for Mumble-esque audio channels

0
0
0

@whitequark @ddlyh @fruitcakesareyum yep, sorry, definitely didn't mean to imply you weren't aware, just vocalizing my thoughts :)

0
0
0

@whitequark
I didn't even realize there was a v3. I have a rabbit hole to go down...

0
0
0

Neat! I'm already there. I guess I'd better update my irssi to take full advantage of the features.

@whitequark

1
0
0

@futuresprog @whitequark yeah i need to find myself an ircv3 capable client I'm still using Pidgin which I started for AIM, MSN, Yahoo, and IRC.

Of those, IRC is the only one still around.

1
0
0

@azonenberg @futuresprog @whitequark I'm still using finch in screen on a linode...

0
0
0

@artemis @whitequark as already explained by the OP: categorically yes. however some things won't show up right; the server isn't supposed to send non-v3 or partial v3 clients things they don't support

0
0
0

@whitequark does it or will it support end to end encryption by any chance?

1
0
0

@shaadra I am not aware of an up to date, well designed, secure E2EE overlay over IRC; someone may eventually port MLS on top of it but I think it probably makes more sense to discuss things needing E2EE over Signal or whatever

0
0
0

@whitequark I agree that this sounds like the perfect tool for (public) forums and communities

since you mention replacing matrix – can it do encryption?

1
0
0
@whitequark and you can even use the soju IRC bouncer if you need to connect to servers that don't support all of IRCv3

(also libera recently got quite a few of these perks: https://libera.chat/news/new-and-upcoming-features-3)
1
0
0
Edited 18 days ago

@fun I very specifically do not want to ever run a bouncer. if I have to run a bouncer I might as well run a Matrix bridge instead! (because this means others do not have to run bouncers)

1
0
0
@whitequark which is completely understandable
1
0
2
@cas @whitequark soju is amazing, I switched to it a few years ago and never looked back
0
0
0

@whitequark Maybe it’s worth noting that several of the features you mention (including chat history, which for me was the number 1 thing missing from old IRC) are still officially ā€œdraftā€ extensions.

1
0
0

@2something from a standard developer's point of view this is very important, but from a user's point of view not so much (considering the draft versions are unconditionally, and in some cases widely, implemented in clients and servers)

0
0
0
@azonenberg @whitequark it evolved a lot lately, I would say, and what do you mean by ugly?
0
0
0
@whitequark btw, what would it mean for the catircservices bridge you have running right now?
1
0
0

@fun that's going to continue to be maintained indefinitely (the one caveat being that if m-a-i is no longer developed and gets some critical vulnerability, I reserve the right to shut it down on a short notice)

1
0
0

@fun the bridge is on a critical path between a discord<>irc connection for glasgow/amaranth so it kind of has to stay in place

2
0
0
@whitequark and btw, there is a work-in-progress bridge for Matrix<>IRCv3 called mautrix-irc in case you want to check that out https://github.com/mautrix/irc

It's tested mainly on Ergo so it might be interesting, though still alpha.
1
0
1

@fun double puppeting?

1
0
0
@whitequark it does puppeting only for users that explicitely login to the bridge and are allowed. If not it uses ergo's RELAYMSG to relay messages.
1
0
1
@whitequark the effect is pretty cool on plumbed rooms though, matrix users on the plumbed matrix room that are logged in to the bridge appear as regular IRC users on IRC
1
0
1

@fun what is RELAYMSG?

any bridge that replaces m-a-i has to provide the same user experience (being able to tab-highlight and ideally DM users across the bridge either direction)

1
0
0
@whitequark it's a hack, basically a bot can impersonate nicknames that way so things become "<user|bot> hi" instead of "<bot> <user> hi", but that "user|bot" isn't actually part of the channel
1
0
1
@whitequark so, no DMing or tab-highlight (except on irssi), unless the person is logged in to the bridge.
1
0
1

@fun ok, I don't see any point in running it then

0
0
0

@artemis @whitequark yes, that's what i do with irssi. my client has virtually no ircv3 support (none of the fun features), but i can still join ircv3 servers (ergo) and chat with ircv3 clients (halloy, etc.).
even if your client doesn't support ircv3, you can still /quote history #channelname and receive chat history! (i prefer to have an irc client that runs 24h/7, but in case of a power cut, that's an option)

0
0
0

@whitequark

not a single emoji in any readme.md file... nice

this seems promising

0
2
0

@whitequark any mobile client suggestions? Ive only tried goguma and weechat-mobile. At the end i just use senpai in termux

1
0
0
ssh-chat is kind of neat, but: kind of suffers from being stuck to ASCII usernames IIRC?

IMHO, SILC was way better.

CC: @whitequark@treehouse.systems
1
0
0

@whitequark I really like that client with compact mode, but there is sadly no fontsize setting yet.

1
0
0

@teajaygrey @whitequark i think sshchat could implement custom names but i guess using the username was just easier. guessing this is just a proof of concept

silc?

1
0
0

ćƒ†ć‚£ćƒ¼ć‚øć‚§ćƒ¼ć‚°ćƒ¬ć‚§

Edited 15 days ago
SILC is Secure Internet Live Conferencing. It used to be at silcnet.org

These days, the code is archived here:

https://github.com/silc/silc

Basically, imagine something similar to IRC, but with end-to-end encryption by default. Perfect Forward Secrecy, by default. Messages are encrypted from server operators as well.

I'd estimate at its apogee of popularity circa 2005ish, it had maybe 300 or so daily active users, spread across myriad private networks? One of the Chaos Communications Congresses around the same time used it, so maybe for a week it had a peak of several thousand users during that event?

If you're familiar with IRC, some neat things SILC offered:

Identity based on public key, so you can have users with the same username on the same SILC server and network (just like real humans may have the same names, but different DNA). So: no need for NickServ.

When channels are created, the creator is given a "founder" status. Thus, no riding a netsplit to claim "ops" like IRC. So: no need for ChanServ.

It also has a /disconnect mode, and will attempt to store and forward messages when disconnected. So: a lot of the need for BNC (bouncers) in IRC is also eliminated.

Circa 2014, I released an encrypted OpenBSD VM with some tools to show a proof of concept of running OTR (https://otr.cypherpunks.ca/) over SILC; demonstrating that you can have end-to-end encrypted realtime messaging, layered without needing to write a single line of code, using existing tools. I also threw in Tor, for folks who might want to Torify such things (this helps obscure IP addresses for example, and preserves more pseudo anonymity for users; something with IRC and many other chat protocols fail to do entirely). As far as I know? No one bothered to use it. I uploaded it to archive.org with a 30 day retention, because I didn't want a proof of concept to turn into a bitrot stale Docker container vulnerability waiting to happen. For me, a proof of concept, is just that; not a project to become a nanny over.
0
0
0

@konsi goguma

0
0
0
@whitequark This sounds great!

Is there a good public server (and a good client I can use with it) that I can hang out on to see what it's like?
1
0
0

@azonenberg @whitequark @classabbyamp @SnoopJ @futuresprog So you're saying that getting heated over IRC conversations is a _feature_.

1
0
0

@whitequark Now I just need to wait for the networks I use to roll it out or finally find a bouncer that will work properly with SASL and not have me end up logged in with a different nick after a bit of network instability...

1
1
0

@whitequark Did that as well for me the other day, but initially it refused to connect with SASL at all, had to connect with a different nick, /msg NickServ REGAIN [...] and then activate SASL, then it reconnected without issue.
Haven't looked into it further, I don't know IRC well enough to have a real clue what I'm doing to be honest.

1
1
0

@kaki right, I don't use bouncers so I'm not of much help either

0
0
0
@whitequark its like actually so beautiful. coincidentally i've set up my own ergo server as an experiment, with kiwi/gamja web clients for friends to easily pop in. the experience was smooth and it all Just Works. very exciting to see all the extension developments happening
0
0
0

@fiore @whitequark @nyx but what about ā€œyou don’t need a bouncerā€ ! the first words in this thread!

2
0
0

@fiore @nyx @whitequark i should probs look into soju later though. my last experience with ZNC was pretty bad iirc, i assume soju is at least 1 grillion times better

0
0
0
@nyx @whitequark soju has an extension for file transfers that notifies clients of HTTP temp file hosters, and there are both server implementations and proxying tools for that. i learned about it because people have been using those and i saw new user agent strings pop up on 0x0

which also gave me an idea for voice chat. you don’t actually need the IRC protocol/network to handle everything and can offload a few extra features to other services

RE:
shrimptest.0x0.st/notes/aiun7hjykxd0x98x
2
0
0
@nyx @whitequark this is of course the laziest way to go about it but look, that way you’re not limited to the 1 or 2 clients that have the features you want but only work on one of your devices
1
0
0
@nyx @whitequark UX doesn’t have to be complete ass either. you can use browser fallbacks and URI handlers to open other clients for these things
0
0
0
@mia @nyx @whitequark

for the mumble bit, per channel metadata would be my preferred way to do it I think: https://ircv3.net/specs/extensions/metadata
0
0
0

@whitequark @aperezdc I was a bit mixed on IRCv3 too, the discussion at the freenode live keynote in 2019 was… a bit scattered and i dont think people understood what people ment by emotes.

but as soon as i had started interacting with it in a limited way with Twitches usage, and then using it more this year after setting up soju, it looks super promising

1
0
0

(i think emotes could be added like twitch does using message tags, but with the emote ID replaced by a URL for the emote, this makes support optional and still puts something useful in chat for clients that dont support it)

0
0
0

@whitequark @oreolek basically same, it’s nice if you want a more real-time experience, but not that useful for the more asynchronous style

1
0
0

@ignaloidas @whitequark it's not about realtime replies, i have 300+ people in IRC chats (relays) and don't want my phone to drain battery loading new history all the time but still do want my nick mention alerts

1
0
0

@oreolek @whitequark it will load history only when you open it tho? (if you’re connecting to a chathistory enabled server/bouncer, of which ergo is)

0
0
0
@kimapr @fiore @whitequark IRCv3 specifies a built-in bouncer essentially (which is implanted by Ergo at least) while if you're using a network whose server doesn't support the new spec you need a bouncer since goguma isn't meant to be like a full client iirc
1
0
0
doesnt ergos bouncer only bounce itself tho , or does it let u connect to other networks as well

CC: @whitequark@treehouse.systems @kimapr@ublog.kimapr.net
1
0
0
yes thats true , but making an onboarding bot and having instructions for how to add it to your server and set it up could be neat
0
0
0

@fiore @nyx @whitequark it only bounces itself, and lets you view chat history via the draft/chathistory extension. if client doesn’t support that you can log in with a @device appended to your sasl username and it’ll keep track of history you miss while offline and replay just that next time you connect. soju apparently also has this which makes it giga epic and it already completely mogs ZNC

1
0
0

@mcc I miss those chat based warez servers.

1
0
0

@oreolek @whitequark eh, I see that as a fairly minor thing, but yeah, could understand it for that

0
0
0

@whitequark Do you know of any good guide to get all (or most) of this setup?

I am still running a bouncer and have my NickServ setup, but I don't want to fall behind on the latest benefits of IRC. šŸ™ˆ

1
1
0
@whitequark sounds great, but unless EFNet changes to v3 I guess I'm stuck with what we've got now
0
1
0

@whitequark any recommendations for the most compliant server softwares?

1
0
0

@whitequark although perhaps no federation as such (i.e. walled garden, barring the negative connotation), i.e. you need to create local user on the IRCv3 network one wishes to join, so less akin to Matrix ( which XMPP can substitute), but more like substitute for discord.

1
0
0

@abbe irc hasn't had federation "like matrix" since eris got booted out of the original irc network

0
0
0