Hacker News new | comments | show | ask | jobs | submit login
The Lounge – Modern cross-platform, self-hosted web IRC client (github.com)
70 points by LinuxBender 5 days ago | hide | past | web | favorite | 39 comments





One feature I really miss in a lot of chat clients (that this doesn't appear to have) is the ability to reply to specific messages, like in Stack Exchange chat or Telegram. It makes it a lot easier to follow several simultaneous conversations, or groups with many members.

I've always thought of the main IRC channel like being in a crowded room. You can listen in on various conversations, but if you want to have a conversation with one or more people, you move to another location and converse amongst yourselves either by private message or another (tempoarary) channel.

Threaded conversations are better handled by email or newsgroups as opposed to chat in my opinion.

Edit: Removed extraneous word.


I don't think that's really feasible with IRC unless you invent your own extension to the standard and then convince every other IRC client to adopt it.

There is a draft for this in ircv3 https://ircv3.net/specs/client-tags/reply.html

I think I saw it because irccloud was using it with their slack integration?


Couldn't it be done in the UI by referencing the line/message ID, kinda like how forums "quote" the message you clicked Reply on, or 4ch references a link back to the one you're quoting?

Let a user click the timestamp to the left of the messages (or a "#" or other symbol), which inserts something like this into the reply box:

> Replying to username:

Then your message you send ends up looking like:

> Reply to username: I agree!

Clicking on "Reply to username" or just the username could scroll back the chat and highlight the message you replied to.


One problem with IRC is that everyone is using a different client. It's like how you can set it up so you receive messages when you're offline... but nobody else does that, so it's not a real solution.

Of course, the context here is a client that does indeed implement extra features, and you're right that a text format per message would be an interesting way to implement this: the client could simply hide those messages from the normal view and slot them into the thread system. People using other clients would just see some extraneous line noise like "Replying to <username>|<timestamp>: hello world".


Yeah exactly, it's still "useful" to people without the client just by showing them it's a reply to someone else, even without the embedded link and extra functionality the client adds. I think it's a good compromise.

Any consideration to packaging this as a portable archive that can be extracted and executed easily (e.g. w/ like pkg [0])? While adoption may not be a goal, asking users of software to obtain it from a JS package manager is a bit much. Don't underestimate the value of a download button/link.

0 - https://github.com/zeit/pkg


It’s meant to be run on a server. A docker container and deb exist, and it’s on the AUR. If any users are interested in maintaining it on a different package manager they’re encouraged to hop on to #thelounge on freenode and talk to the maintainers.

The Lounge is included with my project HomelabOS (https://gitlab.com/NickBusey/HomelabOS).

I've been using it for a while now and it's been working great. Nice, simple, and quick to load.


What are some common use cases for homelabOS?

Hmmm, use cases? I guess really just the one, people who want to use cloud type services, prefer to self host, and need an easy way to deploy those services.

I'd be interested to know if anyone actually seriously uses something like this. I can't imagine there is much crossover in the irc audience and the people who would want to use a web based client. Even less so when you need to self host it.

I've been using it daily for about a year. I run it behind Apache (for SSL with LetsEncrypt) on a 1 year reserved T2.Nano VM in AWS ($3.125/month) that I also occasionally use for other things.

I'm involved in a lot of open source but had used IRC only intermittently until I got The Lounge running.

I've really enjoyed it. I'm able to log in and see the same unreads and direct messages across my work PC, personal PC, and phone and iPad. The software has been reliable and relatively painless to update. The UI functions nicely on touch devices.

Before The Lounge I operated ZNC in EC2, but configuring device-specific clients to use it was a chore, and I didn't find myself using IRC very much. Now, I use IRC all the time.

Obviously if you're not comfortable maintaining a server then this isn't the option for you, but as a "power user" I've found the web UI perfectly tolerable. Instead of maintaining IRC clients on multiple devices and pointing them at ZNC, I maintain a single IRC client -- The Lounge.


irccloud.com ($50/year) is a good option for people who don't want to run their own server. Only costs $13/year more than your solution.

Though paying money to receive messages while offline (or fiddling with ZNC) is one of the reasons IRC getting its lunch eaten by everything.


> I'd be interested to know if anyone actually seriously uses something like this. I can't imagine there is much crossover in the irc audience and the people who would want to use a web based client. Even less so when you need to self host it.

It's our default web-based client that we offer for public use over at EsperNet (which as an IRC network has been around since the 90s) - https://webchat.esper.net.

The fact it is modern, easy-to-use and has better security characteristics made it a bit of a no-brainer to switch from Iris.


I'm considering using it. It's really nice to be able to idle in chatrooms without risking losing history if my computer dies as well as have a unified experience supported across web clients in all my platforms (I'm not really a fan of any of the windows-based or linux based IRC clients out there).

It seems worth it for me to throw this on a DO droplet, give it a URL and totally forget about having missed something again. Right now I just use Textual with all the default configs installed and don't do anything fancy. For a casual IRC user who doesn't want to go into much more effort than that to preserve history or have seamless client experience/settings and am willing to pay 5 bucks a month to host in the cloud somewhere, I think I'm the target audience here.


I used it for a while when first getting into IRC communities; it serves as a really nice gateway into it - extremely user-friendly, hackable, usable from my phone if I wanted. Generally just a really good client overall, despite the bloat.

I have been for.the past five or.so years. I hop on.and.off withoit much thinking. It just works whether im on or offline

I know a lot of deeply technical people that prefer web-based IRC clients.

How mature is this project? For some reason (possibly just scars from years past), I'm pretty wary of IRC clients that aren't mature, due to concerns around security.

The first PR is from Feb 2016, so that makes it a little under 3 years old. Is that old enough for an IRC client?

I really like how it looks! Feels much more modern than HexChat (what I currently use).


The Lounge is a fork (well, really a continuation) of shout, which was started 4-5 years ago (https://github.com/erming/shout)

Additionally, the backend irc framework used was changed to one used by another popular web client, kiwiirc.

Are there any specific security concerns you have?


Nope! I am possibly overly paranoid about my IRC client, if only because of my time many years ago in some slightly shady (but honestly entirely benign) areas of the Internet, where if your client wasn't properly configured you'd (sometimes) find out about it in negative ways.

> How mature is this project? For some reason (possibly just scars from years past), I'm pretty wary of IRC clients that aren't mature, due to concerns around security.

I've reviewed this from a security perspective and was pretty pleasantly surprised. It sets a sensible Content-Security-Policy, doesn't leak the Referer etc. JS is written properly to avoid introducing DOM-based cross-site scripting vulnerabilities.


Is there a hosted version of this (or similar) that persists IRC connections, with a good iOS/Android app?

I’m thinking something that can compete with Slack for usability that runs over standard IRC networks


You're looking for https://www.irccloud.com

There isn’t currently, but nothing stops someone from hosting it.

However, there isn’t currently a way to sign up, but there have been opened PRs that wouldn’t be too difficult for someone to implement if they really wanted.


That was really pleasant to set up with the docker image. I just wish it would tell me it stores it’s data in /home/lounge/data so I can create a persistent volume for it.

I was thinking about implementing slack at our workplace, this looks like it might be a nice open source alternative.

Anyone running this at a medium-sized company?


If this doesn't fit, you should check out Mattermost, Rocket Chat and Zulip, all great alternatives to Slack.

Not running this but we are running a Matrix Homeserver at our place. Works great: https://matrix.org/

Then riot.im as client for the phones and web.


Not a good fit for a corporate environment, unless you're already using IRC and need a web UI.

It's basically a personal IRC client and lacks most of the features you would expect from Slack (media upload, user management, editing/deleting messages, public channels...).

Take a look at Rocket Chat and Zulip instead.


Version 3.0 releasing soon (just need to write changelog, really) has file uploading support. Not sure what “public channels” are, but you can set channels to join and lock your Lounge instance to a network.

Editing/deleting messages is a misfeature, and naturally IRC supports public channels, given that it invented them.

I mean the UI part, of course - Slack has public channels that everyone can easily discover and join.

Of course, IRC can do all of that (much better than Slack, from a technical point of view). But IRC + The Lounge is not a drop-in replacement for Slack.


You just mean recommending channels, then? Put them in your motd and a clickable list will show up when they log in.

Sure - I know more than one company who uses IRC internally, and it works just fine. However, Slack or Rocket Chat have much better usability for non-technical users.

The Lounge has easy access to IRC's LIST command, which does exactly this. The UI is a bit dirty, but we'll hopefully tidy it up soon.

https://files.yamanickill.com/Q0MSPAU8.png


I think i’d still rather use irssi inside a tmux session, but this is cool



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: