I don't know IRC

Heyo @shortofcode!

IRC’s a pretty different beast than what folks have come to expect! We should probably build up a community resource for IRC info since we’re making that our primary chat platform for TSR. That said, let’s answer your questions first, and then we can deep dive.

  1. When I enter chat, I see no chat history as I do in Discord. Is that expected? Is it a thing?

This is expected, and is definitely “a thing”, haha. IRC is a protocol, not a platform like Discord, Slack, Mattermost, etc, and as such it operates on pretty fundamentally different rules. The first one being: when you’re not connected to an IRC network, you will miss messages. There is no concept of “scrollback”. IRC networks exist to pass messages along, not store them for later use. If this doesn’t sound great to you, I agree! Fortunately, IRC has been around for a real long time, and this is a solved problem, but it does require some re-thinking of how you think of chat systems. We’ll get into the meat of this below, but for now, let’s answer your other question.

  1. There were two messages that did not make it to my IRC client. I had to find them in discord. Is that my client (Halloy)? Or something I did?

Not sure! Right now, monobridge is only bridging the general channel in Discord to IRC, so if the message you missed was in a different channel, that’d explain why you didn’t get it. If that’s not the case, then I’m not sure what’s going on there. Perhaps @TheMM was doing work on monobridge?

Anywho, let’s talk more about IRC.

Since IRC networks aren’t platforms, they don’t persist messages (although this feature is currently being worked on! IRCv3 has a draft spec for chat history), it’s up to the user to build that persistence method for themselves. Fortunately, IRC networks have been in service for decades, and missing messages is far from a new concern, so solutions are available to handle this.

IRC “Bouncers” are proxy servers that you relay your connection through in order to connect to an IRC server. While these can be used to obfuscate where you are connecting from, a primary use case for them is to maintain a persistent connection to an IRC network on your behalf, thus allowing your client to receive the messages that it missed while you were away. I did a pretty extensive write-up about how I set up soju in my home network on the TSR forums: Setting up soju as an IRC Bouncer

Soju is not the only option however. The venerable ZNC has been around for decades, and can provide similar functionality.

Self-hosting an IRC bouncer may not be everyone’s cup of tea though. I’m thinking it might be worthwhile for TSR to host its own IRC Bouncer, since it’s now our primary mode of chat communication. That said, other options do exist as well that you could take advantage of today. I’d recommend looking at SourceHut’s, since 1) it’s offered as a service to users of their code forge and other developer services, which seems pretty in line with our community, and 2) it is built upon soju, which I clearly have a bias towards these days :sweat_smile:. Their docs are here: quickstart - man.sr.ht

One thing that is worth keeping in mind for all of us is to consider whether chat makes sense for persisting this kind of communication. I imagine @TheMM would suggest that things that the community wants to make available for others should probably happen on the forum vs. IRC, but I think there’s a happy medium to be had personally.

3 Likes