Monal Internals - Handlers framework

In this new series, I want to shine some light onto specific parts of Monal’s internals. It’s dedicated to programmers or people curious about how Monal works internally. If you want to give some feedback, feel free to send an email to Handlers Handlers in Monal are something like serializable callbacks. In iOS the app can get frozen or even killed any time and the push implementation requires the complete app state to frequently transition between the Main App and the Notification Service App Extension (NSE)....

12.07.2023 · 5 min · Thilo Molitor RSS

XMPP Tutorials

Axel Reimer recently created some good video tutorials about Monal and XMPP in general. These video tutorials can be found over here: Currently the audio of these videos is German only.

19.04.2023 · 1 min · Thilo Molitor RSS

Push on iOS

I recently wrote a summary about push on iOS in the wiki. See over here for all the technical details and links to the documentation. I also talked about that topic in my talk “Modern XMPP - A story based on Monal” linked on the About page over here. For convenience I’d like to summarize some parts of that wiki entry in this blog-post, too. UPDATE: This post describes the way Monal implements push as well as the pitfalls of implementing it in another way....

04.02.2023 · 5 min · Thilo Molitor RSS

On the state of SASL in XMPP

SASL (Simple Authentication and Security Layer) as used in XMPP is broken. In this blog post I’ll try to explain why and propose some fixes. Update (2023-04-21): Since I originally wrote this blog post, I’ve had the ability to discuss several of my ideas with Dave (the original author of XEP-0388 dubbed SASL2), MattJ (one of the authors of the prosody xmpp server) and others. Most, if not all, of my issues are now addressed in a bunch of updates to existing XEPs as well as new XEPs:...

06.10.2022 · 17 min · Thilo Molitor RSS

NLNet Funding

We are pleased to announce that we got funding by the EU’s NGI Assure via the NLnet Foundation to work on some important features in Monal. In short this consists of the following tasks (in no special order). 1. Implement more privacy-friendly push server The current push appserver ( saves more data than strictly needed to perform its task, let’s change that. On top of that, a possible HA-setup and load balancing should be strived for....

11.09.2022 · 4 min · Monal RSS