tigase / siskin-im

(M) Public Project of Tigase Messenger for iOS devices based on Tigase Swift XMPP library.
GNU General Public License v3.0
173 stars 37 forks source link

MUC chat's are not bookmarked / saved when adding MUC #29

Open jnaeff opened 4 years ago

jnaeff commented 4 years ago

Describe the bug When I add a MUC to BeagleIM then the behaviour should that it is bookmarked. If I open then my SiskimIM the chat should appear there. This is not the behaviour that I experience. The chat appears in BeagleIM but not in SiskimIM.

To Reproduce Steps to reproduce the behaviour:

  1. Add a MUC in BeagleIM;
  2. Open SiskimIM the MUC should be appearing here now;

Expected behaviour The MUC should appear in SiskimIM.

Smartphone (please complete the following information):

Additional context In the past, it worked better. I think it has something to do with the fix in https://github.com/tigase/siskin-im/issues/14. We use Ejabberd 19.05.

hantu85 commented 4 years ago

Do you have Enable groupchat bookmarks sync enabled in BeagleIM? Do you have Groupchats bookmarks sync enabled in SiskinIM?

jnaeff commented 4 years ago

Yes I did double checked it.

jnaeff commented 4 years ago

What do you need from me to debug this issue?

hantu85 commented 4 years ago

Changes which you mentioned just added additional request to retrieve a list of bookmarks from the XMPP server on connection if the server is detected to be ejabberd. That change does not introduce any change in logic for joining a room or in the processing of bookmarks.

MUC room should be added when the client joins. That means, that room will not be added to the list of open conversations if MUC room will not be joined, ie. server rejected join, blocked communication with the room, etc. Some implementations of servers (MUC components) do not allow users to join the MUC room with the same nickname from 2 different clients if both are connected at the same time.

To solve that issue, it would require significant time for analysis and double-checking and it will be fixed (if possible) in the next big version which is already being worked on.

foss- commented 3 years ago

Also seeing this. Additional testing with Beagle-IM Version 5.0 (130), results below.

Reproduce

  1. remove MUC from all clients or use previously unused MUC
  2. join MUC in Beagle-IM
  3. considering the problems mentioned, maybe it is not expected for the MUC to show up on other clients, but I would at least expect for the MUC to show up in the contact list. 3.1. Monal iOS: MUC only shows in contact list after restart app, when opening the group room, no messages are shown 3.2 Siskin iOS: Group room does not show in chats but in contacts and opens fine with messages (so maybe this problem here is already solved after all?) 3.3 Monal macOS: same behavior as Monal iOS

The problems you mentioned should probably be addressed in a XEP? We live in a multi device world and IM users probably expect MUCs to work like groups in a central service. Matrix is decentral and has this solved. So it would be really important for XMPP to somehow solve this. Joining a group and not have that group show up on all clients is very irritating. (Read state in XMPP groups not syncing is another unsolved problem, which will prevent broader adoption of XMPP)

hantu85 commented 3 years ago

The problems you mentioned should probably be addressed in a XEP? We live in a multi device world and IM users probably expect MUCs to work like groups in a central service. Matrix is decentral and has this solved. So it would be really important for XMPP to somehow solve this. Joining a group and not have that group show up on all clients is very irritating.

That is already solved by XMPP with MIX. That extension has full support for multiple devices, joins all of them at once. SiskinIM and BeagleIM already support that and MIX is also supported by Tigase XMPP Server, so the issue is not a lack of solution but a lack of implementation in other XMPP servers and clients.

(Read state in XMPP groups not syncing is another unsolved problem, which will prevent broader adoption of XMPP)

Also already solved with Chat Markers and works just fine in recent beta versions of SiskinIM and BeagleIM.