-
-
Notifications
You must be signed in to change notification settings - Fork 107
FAQ Frequently Asked Questions
Give me an answer
You can change your password by going to Settings --> your account --> Change Password.
If you don't know your current password, there is nothing Monal can do for you:
Monal does not host your account --> you'll have to ask your server operator to reset your password.
Give me an answer
If push for groups/channels or 1:1 chats doesn't work like expected, you'll most likely have an old version of Prosody or Ejabberd installed on your server.
- Ejabberd: You'll need at least version 22.05
- Prosody: You'll need at least version 0.12 and your community modules must be newer than August 2022
Give me an answer
Historically in XMPP online
meat client is connected and offline
meant client is NOT connected.
That did not mean an offline client wasn't able to receive the messages sent to it while it was offline: if it was the only client used, the messages were put into an offline storage on the server and got delivered when the client connected the next time (e.g. “went online”).
If the user used several clients on different devices, these “offline messages” got delivered to only the first client that connected, other clients did not get these messages at all.
Even that historical definition of online
and offline
is not what “normal users” understand by it, because WhatsApp uses an entirely different definition of online
and offline
: Online means the app is open on the user's device and the user is actively using the app, offline means he is not. But WhatsApp even extended the offline
state by the last online at ...
indicator.
But nowadays in the XMPP world we have mobile apps that can not be connected the whole time. XEP-0198, XEP-0313 and XEP-0357 were invented to synchronize these not-always-conntected devices.
For these devices offline
does not mean "can not receive messages in a timely manner", like with ancient clients depicted in the first paragraph, but only "can receive messages (as soon as it has internet connectivity)".
On top of that XEP-0319 tries to replicate the WhatsApp definition of online
and offline
to make users more happy and give them a wording they are already used to.
That means in detail:
- If one client does not support XEP-0319, it can only show
online
andoffline
of other clients/contacts, whereonline
only means "seems to be connected" and not "user has app open". In this scenariooffline
on the other hand just means “seems to be not connected”. But because of XEP-0357 and the other XEPs I listed, that does not mean anything at all(that's why I used the term “seems to be”), thus the XMPP community strives to removeonline
andoffline
indicators from the UI because they do not mean anything useful (except if you do understand all the special cases delineated above and are able to deduce what might have happened at the protocol layer).
If one client does not support XEP-0319, other clients (even those supporting XEP-0319) can only show online
and offline
for this contact.
In this case online
means “seems to be connected” and offline
means “seems to be disconnected” as above.
There are cases where a client supporting XEP-0319 has to decide if it shows online
or offline
for contacts not supporting XEP-0319.
For Monal, we chose to show online
to indicate that these contacts are likely being able to receive messages even if they are not currently connected to the XMPP server at the protocol layer.
3. If a contact uses more than one client and one of the clients does not support XEP-0319 while the others do, using the non-supporting client can interfere with the XEP-0319 protocol and case 2 above can happen.
4. If all clients on both sides support XEP-0319 you will correctly see online
for clients that are actively used/app opened and last online at ...
for those that aren't, like WhatsApp would do.
--> Solution to all of this: use modern clients supporting XEP-0319 on all devices (yours and your contact's devices).
--> Other solution: ignore the online
/offline
indicators all together
Give me an answer
We’d love to change a lot of things regarding the overall UI experience. Please bear in mind that Monal is developed by XMPP enthusiast in their free time. Therefore, our time for working on Monal is quite limited. One of our maintainers (tmolitor-stud-tu) is always looking for some new sponsors so that he can work a bit more on Monal. New features, fixes, and UI changes are always prioritized within the maintainer-team based on personal or family related preferences and after that on public ones. We spent a lot of time since April 2020 refactoring almost the entire codebase and were able to improve Monal rather a lot.
Please consider supporting us. Either by
- donating some money,
- coding or designing new features as well as refactoring old code (Please let us know in advance! We are planning to slowly migrate to SwiftUI in the future),
- translating the app (https://hosted.weblate.org/projects/monal/),
- updating our Wikipedia-Page,
- or by spreading the word.
Thanks in advance.
Give me an answer
Monal loads all your and your contacts OMEMO bundles when you login the first time.That may take some time on first setup.
You may also take a look at the considerations for XMPP users!
Give me an answer
Exporting and sending your logfiles to the developers does help them pinpoint a problem you have with Monal and solve it faster.
Learn how to do it here: Exporting-Logfiles
Give me an answer (asked 7 times)
Self-signed certificates are an anachronism.
Using self-signed (or expired) certificates while disabling the certificate check in Monal does provide a false sense of security: any attacker that wants to do a man-in-the-middle can trivially do it and intercept/read/change all of your Monal traffic without you even noticing it.
Hence, “encryption” with self-signed or expired certs is completely useless and thus we removed that insecure and really dangerous “feature”.
Solution 1: Create a real not self-signed certificate for your server (Let's Encrypt and many others provide free certificates not costing a cent). See Let's Encrypt: getting started
Solution 2: Use your own CA, and import it onto all devices you want to be able to connect to your XMPP server. Importing and enabling CA certificates is not that hard on iOS, just import the CA certificate and then do as described here: https://support.apple.com/en-us/HT204477
And no: letting people manually verify/approve fingerprints of certificates for security is just unrealistic.
Give me an answer
You can delete the message history of a contact via the 'Clear chat history for this contact' button in the contact's profile you can reach when tapping onto the top bar telling you the contact's name.
Give me an answer
- In the main view tap onto the top right symbol (two people symbol) to open your contact list (called roster in XMPP world).
- In the contact list press and hold the contact entry and swipe to the left until it disappears as 'Remove contact'.
Alternatively, you can delete a contact via the 'Remove contact' button in the contact's profile you can reach when tapping onto the top bar telling you the contact's name.
Give me an answer
- In the main view tap onto the top right symbol (two people symbol) to open your contact list (called roster in XMPP world).
- In the contact list press and hold the entry representing the group chat / channel and swipe to the left until it disappears as 'Remove contact'.
Give me an answer
- In the main view tap onto the top right symbol (two people symbol) to open your contact list (called roster in XMPP world).
- In the appearing contact list tap onto the top right plus (+) symbol.
- Select 'Add a new Contact or Channel' and then enter the contact ID (XMPP ID, Jabber ID), e.g. [email protected]. Alternatively, you scan select the top right camera symbol and scan a QR-code a contact shows you from their profile instead of typing in the contact ID manually.
- Click on 'Add contact or channel'.
You can always tap onto an XMPP URI sent / displayed to you in any app (including Monal itself (alpha only)) to add a new contact or join a group / channel