The Lounge – Modern web IRC client designed for self-hosting
github.com
github.com
I would have loved to have this the past few years.
I recently shifted all my IRC usage to Matrix with Element.
There is a official IRC bridge. It will let you authenticate with IRC servers and join rooms, which will appear as regular Matrix rooms for you. On the IRC side you seem like a normal user as well.
You get multi-device support, history, one less client to keep open, ...
Steps:
* Start a conversation with "@appservice-irc:matrix.org"
* Send commands:
!nick irc.freenode.net mynickname
!storepass irc.freenode.net MYPW
!join chat.freenode.net #someroom
Until you accidentally start using Matrix features that don't translate well.
Eg your matrix client will let you post large messages. On the IRC side this will generally appear as
foo[m] send a long message: <https://matrix.org/some/long/url/uNiQuEcOdE>
<foo[m]> How do I fix this?
and now IRC users have to open a browser to answer your question.Also I've heard that if a Matrix user edits their message, the bridge resends the whole message to the IRC channel. I've not experienced Matrix users repeating themselves with tiny differences, so I can't confirm this.
Thankfully this is rare, at least in the channels I hang out in. But in general I have a dim view of all these protocols that attempt to interop with IRC - they all have some form of impedance mismatch that causes jank. The worst one was probably gitter, where its users were used to posting kilobytes of code in markdown code fences because the browser UI would collapse it by default so it'd look fine, but their IRC bridge sent the whole thing line-by-line to all clients. And if the gitter user edited that code block, the bridge would send the whole code block down again. I disconnected from that thing as soon as it happened to me (The fact that its IRC impl was broken and required me to patch my client was also part of the reason.)
The problem I was describing is that the Matrix user has no reason to follow this rule, because the Matrix client UI lets them type arbitrary long prose and code and logs in a single message and send that. And then the bridge has no choice but to put the whole thing in a pastebin.
[1]: Unless the prose part of your question is itself an essay. But in that case the solution is not to put your question in a pastebin. It's to spend some time distilling your question down to remove all the fluff that made it an essay.
I'd personally switch to a Matrix bridge + Riot if I were to need to access IRC these days, but for anyone seeking a nice self-hosted method of accessing IRC from the browser without intermediate software, I can strongly recommend this.
The official site is more useful than the GitHub repo in this regard: https://thelounge.chat/docs
thanks for the update
For me, Matrix was not just about bridging IRC, but about unifying communications. And when you first decide to do that, bridging IRC too becomes a no-brainer.
I know that many modern apps follow this pattern and it may have to do with making things responsive and work well across many different devices and platforms, but I simply cannot be happy with low information density.
YMMV. It's good that there are so many different clients to chose from. IRC still rocks.
That being said, The Lounge supports themes, and it's trivial to reduce spacing to fit your needs. There's even a box in settings where you can put custom css directly in.
I mean, HexChat use roughly the same space (the username part is configurable), so this is hardly a problem of 'modern UI'. (XChat, which HexChat fork from, was initially released in 1999)
Not the guy you asked, but isn't that the default? I've always done '/names' to see who was there and '/list' to see what channels were available.
That being said, I think the whitespace between the lines was the complaint (IIRC the default is a line size of 1.4 and 3px padding)
With a little CSS I eliminated the WS, and here's a screenshot with the two sidebars hidden:
Using this on a channel with 200 people in the channel and 2-4 conversations taking place at once, and they matter a lot.
I think with thelounge the problem can be solved with some custom CSS ( which thelounge supports adding ). But this is not a very user-friendly option.
Funny enough, just like at a previous online book company I worked at, the problem can also be solved by a greasemonkey script :p
I personally find most "slack-ified" IRC clients to be much more legible and easy on the eyes than weechat/irssi although I do like the terminal clients for their keyboard nav and even deeper theme options.
But obviously the best part about The Lounge being browser-based and overall more modern is that I can easily use it from my phone, too. SSHing into an irssi session is far more tedious and annoying when I'm not sitting in front of my desktop.
/* remove padding for channel switcher */
#jump-to-container .channel-list-item[data-type=lobby] {
padding: 0px;
}in the custom stylesheet section of your thelounge installation.
Then use an ssh tunnel to connect to that weechat instance with glowing bear on your computer or weechat android on your mobile.
Profit.
I prefer it over the lounge because it's not web based. I'm old and hate everything web based.
I use it exactly the same way I used screen+irssi, just instead of using ssh to hit it, I use Firefox to hit it. In either case, the client runs remotely and only the displayed portion is coming to my local machine.
sqlite installs by default (unless something went wrong), but it's only required to persist between restarts (or leaving and reopening a channel). But just having it running will keep history in memory (up to a limit), so not strictly required to have it work between devices.
I ended up hosting it on a raspi in my basement, but there are definitely services out there who will host it for you. I have no idea who that was now, though!
its got all the features I need, and its as fast as pigeon, more or less.
> Push notifications are supported on all platforms except for iOS, due to Apple not supporting web push specification and all browsers being reskins of Safari.
Is Node the new JVM?