News for hackers. Stuff that matters.
Re:Ergo – modern IRC server written in Go by zxcvbn4038 on Wednesday June 22, 2022 @02:07AM (#31832578)
I really hate Slack but the killer feature nobody in irc world is solving is mobile connectivity. If get logged out every time I lock my phone then I have to keep dealing with Slack.
Re:Ergo – modern IRC server written in Go by welterde on Wednesday June 22, 2022 @03:04AM (#31832867)
This issue has been solved by the ergo in that it integrates the bouncer functionality into the IRC server. So from everyone elses perspective you never get disconnected and combined with support for the chathistory extension (which your mobile IRC client has to support) you won't miss things happening in between either.

But that being said, the mobile phone essentially killing all open tcp connections is not really that great of a thing. IRC is not the only protocol that suffers here, but also IMAP IDLE push notifications suffer here.

Re:Ergo – modern IRC server written in Go by emersion on Wednesday June 22, 2022 @05:32AM (#31833719)
Shameless plug: someone is trying to solve these issues: https://sr.ht/~emersion/goguma/

It uses IRCv3 chathistory + a proposed extension for push notifications.

Re:Ergo – modern IRC server written in Go by usrn on Wednesday June 22, 2022 @05:49AM (#31833808)
Who's going to babysit the iOS push server? Colloquy already has this and I modified an IRC server to support it but the push server is down so often it's not usable. I'd run the push server myself but Apple requires that I pay them $100/year, buy a macintosh, and convince them my version of the app is substantially different all for the privilege of maintaining a service required to support their miserable OS.

EDIT: ah, of course it's Android only.

EDIT2: They absolutely are Apple problems. Unfortunately Apple has convinced their users that they are IRC problems and the practical reality is that Apple users will not use IRC unless they're fixed which for me means setting up eg MMS bridges with cheogram which is a major pain. Thankfully we're getting web push on iOS next year and that will (hopefully) make all these problems effectively go away.

Re:Ergo – modern IRC server written in Go by zepolen on Wednesday June 22, 2022 @06:32AM (#31834150)
These sound like Apple problems not IRC problems.
Re:Ergo – modern IRC server written in Go by modinfo on Wednesday June 22, 2022 @07:28AM (#31834584)
You can always give the possibility that the user enters his API key to Pushover and by pushover you can receive push notifications, I have already written many programs that work with Pushover, one works to this day, every 6 hours I get the current price of bitcoin back with a difference whether the price has decreased or increased.

It's really convenient, I don't even have to pull out my phone because notifications come straight to my Apple Watch.

Re:Ergo – modern IRC server written in Go by there on Wednesday June 22, 2022 @09:00AM (#31835486)
Just FYI, Pushover has a Glances API so you can push data like that directly to an Apple Watch complication.

https://pushover.net/api/glances

Re:Ergo – modern IRC server written in Go by modinfo on Wednesday June 22, 2022 @07:17AM (#31834506)
I really miss MutterIRC client for iOS, it was probably the best client, all you had to do was install MutterIRC module on your ZNC, download iOS app and log in to your ZNC account. It was like using WhatsApp, you always got a push notification if someone wrote to you or wrote you a nick in a chat.

I would really like MutterIRC to come back or some alternative to this application.

When I was at work I got a push notification and could quickly write back on IRC chat. That's how it should work. Unfortunately, MutterIRC is not working since 2019.

Re:Ergo – modern IRC server written in Go by icy on Wednesday June 22, 2022 @11:01AM (#31836905)
I’m currently using IglooIRC + ZNC push module (https://github.com/jreese/znc-push). Works decently well.
Re:Ergo – modern IRC server written in Go by modinfo on Thursday June 23, 2022 @05:18AM (#31846688)
Thank you!
Re:Ergo – modern IRC server written in Go by E39M5S62 on Wednesday June 22, 2022 @11:22AM (#31837239)
Very nice. Thank you for the ultra-convenient F-Droid repository!
Re:Ergo – modern IRC server written in Go by rob74 on Wednesday June 22, 2022 @03:37AM (#31833061)
I don't hate Slack per se, but I hate their bloated Electron client. Fortunately some weeks ago their Linux client stopped working on my machine (it had been warning me for some time that my OS version is "too old" - interestingly other Electron apps and Chrome itself are just fine with that). Since then I discovered that the web version works just as well and is less resource-intensive...
Re:Ergo – modern IRC server written in Go by corobo on Wednesday June 22, 2022 @07:37AM (#31834662)
Yeah I use Slack in a pinned browser tab too. I figure if the interface is the same I might as well wrap it with the browser I have open 90% of my day than some separate Electron app I'll forget to open.
Re:Ergo – modern IRC server written in Go by hatch_q on Wednesday June 22, 2022 @06:08AM (#31833951)
Electron hate is in most cases unsubstantiated, esp. when compared to their web counterparts.

Just checked discord - electron app consumes half the memory firefox does with only discord open.

Re:Ergo – modern IRC server written in Go by unhammer on Wednesday June 22, 2022 @03:52AM (#31833150)
Put https://weechat.org/ on your vpn (or a raspberry pi under your couch or whatever) and install one of the weechat apps.
Re:Ergo – modern IRC server written in Go by znpy on Wednesday June 22, 2022 @05:27AM (#31833688)
You can run thelounge somewhere and use thst as web interface. Android and iOS allows you to iconify a website, so that would feel like a native app.

https://thelounge.chat/

Re:Ergo – modern IRC server written in Go by sleepydog on Wednesday June 22, 2022 @02:14AM (#31832597)
I use chat.sr.ht, which is a hosted instance of the ircv3 bouncer soju.im. This keeps me logged in without requiring my phone to be always connected.
Re:Ergo – modern IRC server written in Go by theshrike79 on Wednesday June 22, 2022 @03:44AM (#31833111)
The biggest issue with mobile IRC that it needs a constant open TCP connection to the server.

You need to have a client or a proxy client running somewhere 24/7. You can self-host it (bouncer) or you can pay someone else to do it (IRCCloud).

But it's still a protocol level issue. IRCv3 might be doing something about it, but I'm not holding my breath.

Re:Ergo – modern IRC server written in Go by emersion on Wednesday June 22, 2022 @05:25AM (#31833680)
Re:Ergo – modern IRC server written in Go by Fnoord on Wednesday June 22, 2022 @06:25AM (#31834087)
That issue was solved ages ago with screen or bouncers. One could also push notifications via e.g. Gotify.
Re:Ergo – modern IRC server written in Go by Darmody on Wednesday June 22, 2022 @02:13AM (#31832589)
I don't think that's going to change. It's like that by design and I don't think IRC devs are willing to change it.

So you'd have to use a server that's connected to the IRC server 24/7 and connect from your phone to that server.

Re:Ergo – modern IRC server written in Go by one_more_q on Wednesday June 22, 2022 @02:42AM (#31832740)
That’s what a bouncer is. And I already used it to solve this problem 20 years ago. The main point back then was of course that nobody steals your username.
Re:Ergo – modern IRC server written in Go by tamrix on Wednesday June 22, 2022 @02:53AM (#31832800)
And don't forget idling in your friends chat rooms so it appears higher on the list and randos would join.
Re:Ergo – modern IRC server written in Go by onion90 on Wednesday June 22, 2022 @02:34AM (#31832696)
The Ergo IRCd has an built in "Always-on" feature which allows you to stay online without an additional server.
Re:Ergo – modern IRC server written in Go by DrJokepu on Wednesday June 22, 2022 @02:16AM (#31832606)
Isn't that what BNC is?
Re:Ergo – modern IRC server written in Go by johnisgood on Wednesday June 22, 2022 @03:01AM (#31832852)
It is.
Re:Ergo – modern IRC server written in Go by brabel on Wednesday June 22, 2022 @02:33AM (#31832691)
Why is it designed that way? Just to avoid the server having to keep data while you're offline? Or there's a grander motivation?
Re:Ergo – modern IRC server written in Go by vegai_ on Wednesday June 22, 2022 @02:48AM (#31832773)
IRC is a message-passing service, not a log synchronization service -- like many of the more modern ones are. You might say that that is one of its architectural strengths, unless, of course, you want to see old messages that were passed when you were offline. In which case you'll need to hack something like bouncers up, which works in practice really well.

Or https://ircv3.net/specs/extensions/chathistory# this might change it.

Re:Ergo – modern IRC server written in Go by okasaki on Wednesday June 22, 2022 @04:29AM (#31833370)
IRC doesn't have accounts, you just connect, specify a nickname and it's yours unless it is used by another connected user. So not really possible to track users.
Re:Ergo – modern IRC server written in Go by brabel on Wednesday June 22, 2022 @04:51AM (#31833488)
I've been using https://libera.chat/ which allows "claiming" Nicks with a registered email account... I suppose it would be possible to "buffer" messages?

I see some IRCs even keep a mailing-list-like record of all messages posted on a channel... so I don't see how it's not possible.

Re:Ergo – modern IRC server written in Go by usrn on Wednesday June 22, 2022 @05:56AM (#31833865)
Logging and nick registration are both extra services that run ontop of IRC.

At one point I extended an IRC server where you could send a list of regex filters. When messages where sent to channels you had joined that matched the filters it would send you push notifications. I think that combined with logging is really all people want on mobile.

Unfortunately someone has to actually run the push server and that

1) Requires more work than volunteers are willing to do

2) Can only be done by people holding the certificates used to publish the app.

I've personally just given up on popular mobile OSes. They're a disaster in nearly every way.

Re:Ergo – modern IRC server written in Go by Darmody on Wednesday June 22, 2022 @12:06PM (#31837859)
If the nick bot is down, there's no registration.

It's just a bot that runs on IRC just like the bots I made when I was using it.

Re:Ergo – modern IRC server written in Go by Agamus on Wednesday June 22, 2022 @07:44AM (#31834744)
Today I learned that mobile connectivity issues are another thing I love about IRC.
Re:Ergo – modern IRC server written in Go by nly on Wednesday June 22, 2022 @08:17AM (#31835058)
Tradional way to deal with this is a bouncer on a VPS somewhere
Re:Ergo – modern IRC server written in Go by giancarlostoro on Wednesday June 22, 2022 @10:24AM (#31836379)
Connection bouncer is what you're yearning for. If that doesn't interest you, then try IRCCloud, which is fantastic on mobile.
Re:Ergo – modern IRC server written in Go by darrenf on Wednesday June 22, 2022 @02:36AM (#31832706)
irccloud.com has worked wonderfully for me, for many years now.
Re:Ergo – modern IRC server written in Go by cpach on Wednesday June 22, 2022 @03:22AM (#31832973)
Irccloud is really nice. Best IRC client I’ve ever used.
Re:Ergo – modern IRC server written in Go by corobo on Wednesday June 22, 2022 @07:33AM (#31834619)
Yup, lack of roaming support was what killed IRC for me. I see that IRCv3 tries to address this but it's about 20 years too late and 10 years since I last used IRC.

Props to them for giving it a go but I feel it'd take something massive for people to switch back to IRC at this point

Re:Ergo – modern IRC server written in Go by vegai_ on Wednesday June 22, 2022 @02:47AM (#31832768)
The chathistory extension[0] might take care of that problem. If IRC lives that long.

[0] https://ircv3.net/specs/extensions/chathistory

Re:Ergo – modern IRC server written in Go by pmlnr on Wednesday June 22, 2022 @04:31AM (#31833381)
It's the other way around: the phone systems actively block background connections.
Re:Ergo – modern IRC server written in Go by usrn on Wednesday June 22, 2022 @06:06AM (#31833936)
I've experimented with this on the pinephone. You can often just get away with leaving TCP connections open while the device is locked (on mine "locked" means something like Android where the device suspends and periodically wakes up so apps can maintain their sockets) as long as you wake up before the keep alive message for the protocol you're using leaving sockets open is fine. That's effectively what the push notification receiver in the OS is doing anyway (although it does something special with the hardware so the incoming packets actually wake up the device for lower latency.)

There's no reason not to allow this for open source apps (commercial ones would obviously abuse it and you would have battery life issues.) Unfortunately it doesn't matter what makes sense on mobile, you're not allowed to tinker with the OS in any way.

EDIT: That's great! I did not know about it. You could probably get around the issue of teaching clients to use it by modifying the BSD socket library to open sockets that way after checking an environment variable. I might mess around with that later.

Re:Ergo – modern IRC server written in Go by Arnavion on Wednesday June 22, 2022 @06:32AM (#31834149)
For the Pinephone, the Quectel firmware supports AT commands for creating a TCP connection through the modem, after which the modem sends wakeups on the bus when it receives data on that socket. So that can be used to implement push notifications without any lag from having to periodically wake up to check.

The problem is that:

a) ... this requires teaching ModemManager about this API since MM is the only thing that talks to the modem.

b) ... this requires teaching clients to talk to MM for a TCP connection, likely using some new dbus-based API to match MM's existing API, instead of just socket() + connect() + read() + write(). So existing TCP-socket using programs will not work without modification. (LD_PRELOAD trickery can work, though ideally only sockets used for push notifications would be routed through MM and the rest use socket(), which can be hard for an LD_PRELOAD'd library to do.)

c) ... one should really be running the OSS firmware instead of Quectel's, and the OSS firmware does not implement those commands.

This was discussed a few months ago in #pinephone. AFAIK no one is working on it.

Re:Ergo – modern IRC server written in Go by tenebrisalietum on Wednesday June 22, 2022 @07:31AM (#31834610)
Thelounge solves it nicely.

Run Thelounge somewhere and it provides a great interface for your phone with chat history storage and other conveniences.

Re:Ergo – modern IRC server written in Go by sph on Wednesday June 22, 2022 @05:04AM (#31833563)
Would QUIC with its connection migration feature help here?
Re:Ergo – modern IRC server written in Go by johnisgood on Wednesday June 22, 2022 @03:00AM (#31832843)
That is a non-issue. That is what bouncers are for. It has been around for over 20 years or something. Personally I run irssi inside screen on a server and I ssh into it using my phone.
Re:Ergo – modern IRC server written in Go by charcircuit on Wednesday June 22, 2022 @03:54AM (#31833163)
Another killer feature IRC is missing is being able to react with a party parrot or other custom emoji.
Re:Ergo – modern IRC server written in Go by buovjaga on Wednesday June 22, 2022 @06:49AM (#31834294)
There's an "idea ticket" for it in IRCv3: https://github.com/ircv3/ircv3-ideas/issues/14
Re:Ergo – modern IRC server written in Go by pmlnr on Wednesday June 22, 2022 @04:32AM (#31833383)
This is sarcasm, right?
Re:Ergo – modern IRC server written in Go by charcircuit on Wednesday June 22, 2022 @05:18AM (#31833641)
No. I think custom emoji and being able to use them as reactions are essential parts of what a chat app should have.
Re:Ergo – modern IRC server written in Go by pmlnr on Wednesday June 22, 2022 @06:13AM (#31833992)
chat chăt intransitive verb

1) To converse in an easy, familiar manner; talk lightly and casually.

2) To participate in a synchronous exchange of remarks with one or more people over a computer network.

No, reactions are not essential part of chat apps.

Re:Ergo – modern IRC server written in Go by krnlpnc on Wednesday June 22, 2022 @11:53AM (#31837670)
> 1) To converse in an easy, familiar manner; talk lightly and casually.

30 people leaving a reaction to an announcement is way easier than 30 lines of chat coming in at varying times.

Same goes for things like +1 -1 feedback

Re:Ergo – modern IRC server written in Go by charcircuit on Wednesday June 22, 2022 @06:25AM (#31834082)
I'm not sure why you are giving a definition when it's also missing things like being able to edit or delete a message. In 2022 I have different expectations on what should be included compared to IRC which came out in the 90s.
Re:Ergo – modern IRC server written in Go by welterde on Wednesday June 22, 2022 @07:43AM (#31834736)
I consider both anti-features for _instant_ messaging since it's easy to misuse by hitting enter first and then editing their message for half an hour. Which people do a lot and is quite annoying since it breaks the flow of conversation.

Talking to a person also has none of those features, yet it's still as popular today as it was 300 years ago. And I view IRC just as the text-version of talking in person. So my expectations are that it has more or less the same feature set.

Re:Ergo – modern IRC server written in Go by Minor49er on Wednesday June 22, 2022 @11:28AM (#31837318)
What about a compromise? If someone edits or deletes a message, those actions could be pushed to the client which chooses how to display that information
Re:Ergo – modern IRC server written in Go by welterde on Wednesday June 22, 2022 @12:32PM (#31838194)
I think there are some IRCv3 extensions in the works for that, but imho it will make it even more confusing since not everyone will be seeing the same thing (at least for the edits), but I guess we'll see how widespread the adoption of those extensions will be.

And even with only partial support the delete function (if it's not limited to the user itself) gives way too much power to the ops/moderator (power corrupts. Absolute power corrupts absolutely.).

Re:Ergo – modern IRC server written in Go by corobo on Wednesday June 22, 2022 @07:41AM (#31834719)
How do you do this chăt if there's nobody to talk to? Other users are kinda essential too.

Reactions and images aren't essential for the strict interpretation of the word, but as everyone is used to them now you're not getting very far without them.

Nobody wants to play multiplayer notepad in 2022.

Re:Ergo – modern IRC server written in Go by jowsie on Wednesday June 22, 2022 @08:25AM (#31835122)
> Nobody wants to play multiplayer notepad in 2022.

The fact IRC is still widely used disproves this quite clearly.

I think the real issue is people who like Discord trying to convince people who like IRC that the Discord method is better, and vice versa.

It's two pretty different demographics for the most part.

Re:Ergo – modern IRC server written in Go by corobo on Wednesday June 22, 2022 @10:36AM (#31836546)
I'm not sure it's fair but my understanding is that Libera chat is the biggest network still going, with about 45k users. [1]

Relatively that's not widely used. Back when I used IRC you'd see that many people disconnect from the network during a netsplit if you were a network admin. Honestly if 45k people for the top network is widely used it's just... kinda sad really.

With modern resources you could probably get the the entire top 100 public networks running off a single machine. Look at Undernet, EFNet, DALNet! Those places used to have 100k users each on a slow day, they're barely reaching 10k now.

User counts have halved since I last looked, and have been decimated (literal usage of the word, nice) since the days I actively used IRC. I'll accept that maybe today is a bad day for stats or something, but it doesn't look like there's many good days left.

For clarity's sake I am still in the IRC demographic[2], but that's no use if no bugger else is using it. I'd love to get back into it if there's anywhere not-a-dead-software-support-channel to hang out but every time this comes up the usage stats just get smaller and smaller.

For what it's worth I rarely use Discord and dislike that back-and-forth knowledge for software communities is now locked away behind some rando company's sign-up form. If I ever set up a new community it'll have to be forum based I think.

[1] https://netsplit.de/networks/top100.php

[2] Literally my entire career was born in IRC. Wanted to make an IRC bot, figured that out, some other stuff happened, was seen as a tech type, asked to help admin a network I frequented, learned how to admin a Linux box, time passes, got a job doing sysadmin work.

I do miss IRC, made a whole bunch of internet friends on it and it took me down a career path I only sometimes regret.

Re:Ergo – modern IRC server written in Go by usrn on Wednesday June 22, 2022 @06:08AM (#31833950)
Reactions are cancer. If you have something to say send a message.

EDIT: I can't reply to your other message but having to deal with people editing their messages is awful in any real time chat. Once you send a message it's sent and if you want to make changes send a new message. I once had someone gaslight me using message editing in Slack and never ever want to deal with that again.

Re:Ergo – modern IRC server written in Go by charcircuit on Wednesday June 22, 2022 @06:20AM (#31834043)
I want to reach with an emoji. Sure I could reply with a custom emoji, but reactions just is a better way to do it without adding extra noise to the conversation.
Re:Ergo – modern IRC server written in Go by cbm-vic-20 on Wednesday June 22, 2022 @09:08AM (#31835555)
:(