Moderation from other client ignored by gajim
Disclaimer: I am not 100% sure this is not a matridge issue, apologies if you spot something illegal on my side.
In this sequence, the gajim user (using the nick nicocool) is the owner of the groupchat.
- gajim receives a message in a groupchat from "nicovraiment", a participant
<message from='!ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicovraiment'
to='test@localhost/gajim.CFCPV3NE' id='$H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM'
xml:lang='en' type='groupchat'>
<body>rolalala</body>
<thread>$H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM</thread>
<active xmlns='http://jabber.org/protocol/chatstates' />
<markable xmlns='urn:xmpp:chat-markers:0' />
<stanza-id id='$H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM'
by='!ffwfutcegfrohiembt\3amatrix.org@slidge.localhost' xmlns='urn:xmpp:sid:0' />
<delay stamp='2023-12-05T15:00:13.410000Z' from='slidge.localhost' xmlns='urn:xmpp:delay' />
<occupant-id id='\40nicovraimentcool\3amatrix.org@slidge.localhost/slidge'
xmlns='urn:xmpp:occupant-id:0' />
</message>
2023-12-05T16:00:14 (I) nbxmpp.connection (localhost) Signal: data-received
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Signal: before-dispatch
2023-12-05T16:00:14 (I) nbxmpp.stream (localhost) Signal: stanza-received
2023-12-05T16:00:14 (D) gajim.c.ged Raise event: stanza-received
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: BaseMessage._process_message_base
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._process_message_before_decryption
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: BaseMessage._process_message_after_base
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: Chatstates._process_message_chatstate
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: ChatMarkers._process_message_marker
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: Delay._process_message_delay
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._process_message_after_decryption
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: Message._check_if_unknown_contact
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: MAM._set_message_archive_info
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for get_archive_infos: 1 ms
2023-12-05T16:00:14 (I) gajim.c.storage.archive Set message archive info: !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost {'last_mam_id': '$H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM', 'last_muc_timestamp': 1701788413.41}
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for set_archive_infos: 2 ms
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: Chatstate._process_chatstate
2023-12-05T16:00:14 (I) gajim.c.m.chatstate (localhost) Recv: Chatstate.ACTIVE - !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicovraiment
2023-12-05T16:00:14 (D) gajim.c.m.chatstate (localhost) Removing remote composing timeout of !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicovraiment (localhost)
2023-12-05T16:00:14 (I) gajim.c.m.contacts (localhost) Signal: chatstate-update
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: ChatMarkers._process_chat_marker
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._on_subject_change
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: Message._message_received
2023-12-05T16:00:14 (I) gajim.c.m.message (localhost) Received from !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicovraiment
2023-12-05T16:00:14 (D) gajim.c.ged Raise event: raw-message-received
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:14 (I) gajim.c.storage.archive Insert into DB: jid: !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost, time: 1701788413.41, kind: 2, stanza_id: $H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM
2023-12-05T16:00:14 (D) gajim.c.storage.archive Execution time for insert_into_logs: 1 ms
2023-12-05T16:00:14 (D) gajim.c.ged Raise event: gc-message-received
2023-12-05T16:00:14 (D) gajim.c.ged Call handler _on_message_received on <chat_stack.ChatStack object at 0x7f9cefe40600 (gajim+gtk+chat_stack+ChatStack at 0x5627224fcb60)>
2023-12-05T16:00:14 (D) gajim.c.ged Call handler _on_gc_message_received on <gajim.gtk.groupchat_nick_completion.GroupChatNickCompletion object at 0x7f9cefea7ed0>
2023-12-05T16:00:14 (D) gajim.c.ged Call handler _on_event on <chat_list_stack.ChatListStack object at 0x7f9cefefbd00 (gajim+gtk+chat_list_stack+ChatListStack at 0x562722829960)>
2023-12-05T16:00:14 (D) gajim.c.ged Call handler _on_gc_message_received on <gajim.gtk.control.ChatControl object at 0x7f9cf56e3350>
2023-12-05T16:00:14 (I) nbxmpp.dispatcher (localhost) Call handler: MAM._mam_message_received
2023-12-05T16:00:14 (I) nbxmpp.stream (localhost) Remove ping timer
2023-12-05T16:00:14 (I) nbxmpp.stream (localhost) Start ping timer
2023-12-05T16:00:14 (D) gajim.gtk.conversation_view emit autoscroll-changed, (True,)
2023-12-05T16:00:14 (D) gajim.gtk.conversation_view emit autoscroll-changed, (True,)
2023-12-05T16:00:14 (D) gajim.gtk.conversation_view emit autoscroll-changed, (True,)
2023-12-05T16:00:14 (D) gajim.gtk.conversation_view emit autoscroll-changed, (True,)
2023-12-05T16:00:15 (D) gajim.c.storage.archive Execution time for _commit: 6 ms
2023-12-05T16:00:17 (I) nbxmpp.connection (localhost) Remove keepalive timer
2023-12-05T16:00:17 (I) nbxmpp.connection (localhost) Add keepalive timer
2023-12-05T16:00:17 (I) nbxmpp.connection (localhost) ::::: DATA RECEIVED ::::
- then gajim receives a "moderation event" sent by the gajim user from another client (in this case, a matrix bridge, but I don't think that matters?)
<message from='!ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicocool'
to='test@localhost/gajim.CFCPV3NE' id='90093f101e224dc0904e5d00f0acfd13' xml:lang='en'
type='groupchat'>
<stanza-id id='49fe8941-12bd-4082-afe0-c67916ad085b'
by='!ffwfutcegfrohiembt\3amatrix.org@slidge.localhost' xmlns='urn:xmpp:sid:0' />
<apply-to id='$H4rQOhU5oo06OrOGKpQ4V-ERaOvT31idzLvQ8IGm6RM' xmlns='urn:xmpp:fasten:0'>
<moderated by='!ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicocool'
xmlns='urn:xmpp:message-moderate:0'>
<retract xmlns='urn:xmpp:message-retract:0' />
<reason>a reason</reason>
</moderated>
</apply-to>
<occupant-id id='slidge-user' xmlns='urn:xmpp:occupant-id:0' />
</message>
2023-12-05T16:00:25 (I) nbxmpp.connection (localhost) Signal: data-received
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Signal: before-dispatch
2023-12-05T16:00:25 (I) nbxmpp.stream (localhost) Signal: stanza-received
2023-12-05T16:00:25 (D) gajim.c.ged Raise event: stanza-received
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: BaseMessage._process_message_base
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._process_message_before_decryption
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: BaseMessage._process_message_after_base
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._process_message_after_decryption
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: Moderation._process_message
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: Message._check_if_unknown_contact
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MAM._set_message_archive_info
2023-12-05T16:00:25 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:25 (D) gajim.c.storage.archive Execution time for get_jid_id: 1 ms
2023-12-05T16:00:25 (D) gajim.c.storage.archive Execution time for get_archive_infos: 1 ms
2023-12-05T16:00:25 (I) gajim.c.storage.archive Set message archive info: !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost {'last_mam_id': '49fe8941-12bd-4082-afe0-c67916ad085b', 'last_muc_timestamp': 1701788425.4754243}
2023-12-05T16:00:25 (D) gajim.c.storage.archive Execution time for set_archive_infos: 1 ms
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._on_subject_change
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MUC._on_moderation
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: Message._message_received
2023-12-05T16:00:25 (I) gajim.c.m.message (localhost) Received from !ffwfutcegfrohiembt\3amatrix.org@slidge.localhost/nicocool
2023-12-05T16:00:25 (D) gajim.c.ged Raise event: raw-message-received
2023-12-05T16:00:25 (I) nbxmpp.dispatcher (localhost) Call handler: MAM._mam_message_received
2023-12-05T16:00:25 (I) nbxmpp.stream (localhost) Remove ping timer
2023-12-05T16:00:25 (I) nbxmpp.stream (localhost) Start ping timer
2023-12-05T16:00:25 (D) gajim.c.storage.archive Execution time for _commit: 10 ms
2023-12-05T16:00:29 (I) gajim.c.settings Set settings: app
2023-12-05T16:00:29 (I) gajim.c.settings Signal: hide_groupchat_occupants_list changed
2023-12-05T16:00:29 (I) gajim.gtk.groupchat_roster Load Roster
2023-12-05T16:00:29 (I) gajim.c.settings Commit
2023-12-05T16:00:31 (I) nbxmpp.connection (localhost) Send keepalive
2023-12-05T16:00:31 (I) nbxmpp.connection (localhost) ::::: DATA SENT ::::
But the moderation event is ignored in the GUI, despite the gajim user appearing as "owner" of the chat in the participant list. If the moderation event comes from the room bare JID instead of the gajim user's JID, the moderation is not ignored and reflected in the gajim UI.