#1037 MAM does not work with spectrum transports

Reporter Nicoco
Owner Zash
Created
Updated
Stars ★ (1)
Tags
  • Priority-Medium
  • Type-Defect
  • Status-Invalid
  1. Nicoco on

    What steps will reproduce the problem? 1.Logout from my gajim session. 2.Send and receive messages to facebook or skype contacts using Conversations on my phone. 3.Reconnect in gajim. What is the expected output? I'd like to see the chat history synchronized between both devices. What do you see instead? Nothing. What version of the product are you using? On what operating system? 0.10.0 on debian stretch Please provide any additional information below. MAM works for pure XMPP on my install. So far I've tested with skype 1on1 chats, and facebook 1on1 and MUCs. facebook transport [purple] extra options: group-chat-open=1 show-unread=1

  2. Zash on

    Hi! Can you provide debug logs from Prosody from when you send and receive messages from transports?

    Changes
    • tags Status-NeedInfo
  3. Nicoco on

    I turned my phone to flight mode, turned debug on in prosody config and sent a few messages using Gajim. Surprisingly, when I turned my phone back on the only messages that Conversations missed were the facebook groupchat. Maybe I was wrong about 1on1 chat? Or maybe is it a "carbons" thing? I'm confused. Logs seem to indicate that 1on1 chats are indeed archived. I'll check in a few hours with Gajim on my 2nd computer if 1on1 are synced and post the results here. Anyway, facebook group chats didn't synchronize, so at least there's a problem here. Here are the logs: facebook groupchat: Nov 10 14:48:46 c2s557e54d4f300 debug Received[c2s]: <message id='8418d7b0-7a5b-4555-8d86-e504ef7f59f3' type='groupchat' to='1185288644930980@facebook.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> Nov 10 14:48:46 c2s557e54d4f300 debug Not archiving stanza: <message id='8418d7b0-7a5b-4555-8d86-e504ef7f59f3' type='groupchat' to='1185288644930980@facebook.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> (type) Nov 10 14:48:46 jcp557e54b775e0 debug Received[component]: <message type='groupchat' to='nicoco@mydomain.tld/Gajim' from='1185288644930980@facebook.mydomain.tld/Nicoco Kinlidec'> Nov 10 14:48:46 mydomain.tld:mam debug Not archiving stanza: <message type='groupchat' to='nicoco@mydomain.tld/Gajim' from='1185288644930980@facebook.mydomain.tld/Nicoco Kinlidec'> (type) facebook 1on1: Nov 10 14:47:20 c2s557e54d4f300 debug Received[c2s]: <message id='56215b01-6970-4329-b394-76538c7f8866' type='chat' to='1058833338@facebook.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> Nov 10 14:47:20 sql debug SQL transaction begin [function(mod_storage_sql.lua:57)] Nov 10 14:47:20 sql debug SQL transaction success [function(mod_storage_sql.lua:57)] Nov 10 14:47:20 mydomain.tld:mam debug nicoco's rule for 1058833338@facebook.mydomain.tld is nil Nov 10 14:47:20 mydomain.tld:mam debug nicoco's default rule is true Nov 10 14:47:20 c2s557e54d4f300 debug Archiving stanza: <message id='56215b01-6970-4329-b394-76538c7f8866' type='chat' to='1058833338@facebook.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> Nov 10 14:47:20 sql debug SQL transaction begin [function(mod_storage_sql.lua:228)] Nov 10 14:47:20 sql debug SQL transaction success [function(mod_storage_sql.lua:228)] Nov 10 14:47:20 mydomain.tld:carbons debug Sending carbon to nicoco@mydomain.tld/phone skype 1on1: Nov 10 14:49:47 c2s557e54d4f300 debug Received[c2s]: <message id='47d637a3-f4c5-48a8-92b5-93f660843d72' type='chat' to='clampino1@skype.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> Nov 10 14:49:47 sql debug SQL transaction begin [function(mod_storage_sql.lua:57)] Nov 10 14:49:47 sql debug SQL transaction success [function(mod_storage_sql.lua:57)] Nov 10 14:49:47 mydomain.tld:mam debug nicoco's rule for clampino1@skype.mydomain.tld is nil Nov 10 14:49:47 mydomain.tld:mam debug nicoco's default rule is true Nov 10 14:49:47 c2s557e54d4f300 debug Archiving stanza: <message id='47d637a3-f4c5-48a8-92b5-93f660843d72' type='chat' to='clampino1@skype.mydomain.tld' from='nicoco@mydomain.tld/Gajim'> Nov 10 14:49:47 sql debug SQL transaction begin [function(mod_storage_sql.lua:228)] Nov 10 14:49:47 sql debug SQL transaction success [function(mod_storage_sql.lua:228)] Nov 10 14:49:47 mydomain.tld:carbons debug Sending carbon to nicoco@mydomain.tld/phone

  4. Zash on

    Groupchat messages are by design not archived, it is up to the groupchat to implement MAM. It says that the one-to-one messages are archived, do they not show up in other clients? If not, then full XML logs from clients would be need, possibly using mod_stanza_debug (or mod_stanzadebug from prosody-modules, until we get around to releasing 0.10.1). You should try to capture messages in the other direction, the ones in the above log are only from you to the transport.

  5. Nicoco on

    >Groupchat messages are by design not archived So if I can read chat history when I enter my XMPP standard MUCs, it's because their admins set up something special? To have transport-powered MUCs store history on my prosody instance, I would need to write a new module? I'm surprised nobody wanted or needed this before.

  6. Zash on

    The history you get from random MUCs isn't necessarily MAM, there exists an older history mechanism that can get you some context when you join, but it's not very flexible. No, you would have to add support in the transports themselves. Because of how MUC works, messages don't always pass through prosody, or may be duplicated if you join using more than one client. Also, this is not a discussion forum. Can you confirm whether the one-on-one messages show up in the database and your other clients?

  7. Nicoco on

    Sorry about the discussion part. So let's forget about MUCs as it seems to be completely different. Anyway, I just arrived and can confirm that my other gajim home instance doesn't show the messages I've sent while it was offline. However, I examined the file /var/lib/prosody/prosody.sqlite on my server and apparently the messages are indeed stored there. Maybe the bug is on the Gajim side? I'm trying to figure this out. I'm not exactly sure what is the best way to test all this. I also don't know how to differentiate between carbons and MAM. I'm still new to XMPP. I'll try to update this thread as I have more information.

  8. Zash on

    Hey, sorry about the delay. Did you figure out anything about this?

  9. Nicoco on

    It turned out that Gajim < 1.0.0 did not implement the right MAM version or something like that. I now have sync'ed history between Conversations 2+ and Gajim 1+, even for the spectrum transports. I didn't use transported MUCs much recently so I don't really know about them though.

  10. Zash on

    Yeah, the MAM specification was a moving a bit fast for a while there. Thanks for reporting back, I'll close this then.

    Changes
    • owner Zash
    • tags Status-Invalid

New comment

Not published. Used for spam prevention and optional update notifications.