From 7d08ff13d73f037352dc216f484cbc9f3f69d8e5 Mon Sep 17 00:00:00 2001 From: mguschin Date: Wed, 16 Sep 2026 12:36:48 +0300 Subject: [PATCH] Enable stream management and CSI for mobile clients. Conversations re-authenticated every 5-10 minutes (138 full logins in two days) because no XEP-0198 module was loaded. Each reconnect re-ran its OMEMO bootstrap and republished the PEP device list built from a partial fetch, which dropped the desktop client's device id from the list. Senders then encrypted to nobody, and Gajim showed "could not be decrypted" until it reconnected and re-added itself. smacks lets the session resume across network blips, csi_simple keeps backgrounded clients quiet. Both ship with Prosody 0.12. Co-Authored-By: Claude Opus 5 (1M context) --- data/prosody/configuration/prosody.cfg.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/data/prosody/configuration/prosody.cfg.lua b/data/prosody/configuration/prosody.cfg.lua index 12adab5..20f6c69 100644 --- a/data/prosody/configuration/prosody.cfg.lua +++ b/data/prosody/configuration/prosody.cfg.lua @@ -25,6 +25,17 @@ modules_enabled = { "register"; "mam"; + -- Mobile-friendly sessions. smacks (XEP-0198) lets a client resume a + -- dropped connection instead of re-authenticating; csi_simple (XEP-0352) + -- lets the server hold back unimportant traffic for backgrounded clients. + -- Without smacks the phone re-authenticated every few minutes, and each + -- reconnect re-ran Conversations' OMEMO bootstrap, which republished the + -- PEP device list without the devices it had not managed to fetch. That + -- silently dropped the desktop client from the list, so messages were + -- encrypted to nobody and could never be decrypted there. + "smacks"; + "csi_simple"; + -- Admin interface "admin_adhoc";