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.
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.
I prefer the MDI view, but wanted a native option, so showing both. :)
(First time I'm sharing this publicly. The caveat being I'm still unsure if I'd release/sell this as a proper thing, FOSS it, or just keep playing by myself)
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.