← Back to context

Comment by jamesponddotco

11 hours ago

I have been using SourceHut’s IRC client to access it for a while, but never quite found a good iOS client, since Goguma is just the Android client compiled for iOS.

I wonder if I can find the time to build a native iOS IRC client that follows Liquid Glass, and works as well as Goguma. Not many people would use it, but it’d scratch my own itch, as they say.

The protocol is so simple[1] that it shouldn’t take that long or be that hard[2], I think.

[1]: Which is the beauty of it, ofc.

[2]: Famous last words.

I've been building my own (native) mIRC clone for MacOS as a side project, exactly on the scratch my own itch kind of thinking! :)

Didn't really look into iOS though, I'll have a think...

So far:

- Swift 6/AppKit built with SwiftPM only, no Xcode project. As a stack of modules.

- The default behaviour is native window(s), but have a classic MDI frame (with child windows inside one main window) that I really enjoy playing with and debugging.

- Behaves "the mac way" (menu bar, text editing, scrolling, full-screen, dark mode, VoiceOver), and anything that belongs to mIRC behaves the mIRC way. Still lots of rough edges though.

- Conversations are tabs in one shared window, the tab bar acts as mIRC's switchbar, the treebar becomes a sidebar. DCC transfers get their own standalone windows as I felt that makes it better as p2p.

- The options, defaults, and menus are an exact copy of mIRC 7.85 - I'll evolve it after "finishing"

- Only the top UI layer touches AppKit, so the parts that have to match mIRC exactly can be tested headless in CI.

- The IRC protocol, session state, mIRC formatting, a mirc.ini-compatible config, a scripting interpreter that copies mIRC's evaluation model (PCRE2 tuned to behave like mIRC's PCRE 8.45), DCC, and the display format strings are all pure Swift.

- Some decisions go beyond mIRC to fit MacOS: an untrusted server certificate is asked the user and pinned, never just trusted. Router port mapping uses MacOS's own port mapper. And also created a few new pixel icon sets I haven't fully decided on.

Seems you never found Mango IRC on iOS

  • I didn’t, indeed. But I just looked and didn’t quite like the design, so it doesn’t seem to be what I’m looking for.

    Still, better than Goguma for iOS as far as design goes. I wonder how the features compare through, as Goguma is the gold standard, akin to Conversations for XMPP.