-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Description
Environment
- ejabberd version: 25.10
- Erlang version: Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 15.2.7
- OS: Linux (Debian)
- Installed from: source
Bug description
Assuming MAM is enabled and works for normal messages
- Create a (public) MUC
- Join this MUC with two devices, e. g. a recent Gajim and Conversations
- Send a message
- Go offline with one of the devices
- Moderate the message with the other device
- Go back online
Observed result: The message has not been moderated.
Logs
Some extract, moderated in Conversations, while Gajim was offline
Send XML on stream = <<"
<message to='user@ <snip>/Conversations.resource' from='cavufene@conference.<snip>' type='groupchat'>
<apply-to id='1766947069789511' xmlns='urn:xmpp:fasten:0'>
<moderated by='cavufene@conference.<snip>/nick' xmlns='urn:xmpp:message-moderate:0'>
<retract xmlns='urn:xmpp:message-retract:0'/>
</moderated>
</apply-to>
<retract id='1766947069789511' xmlns='urn:xmpp:message-retract:1'>
<moderated by='cavufene@conference.<snip>/nick' xmlns='urn:xmpp:message-moderate:1'/>
</retract>
<occupant-id id='g20AAAAgaAz8YITMBGhfjs9jF3PeT/FsmmtG0yEl4daZ3GChWms=' xmlns='urn:xmpp:occupant-id:0'/>
</message>
">>
#message{
id = <<>>,type = groupchat,lang = <<>>,
from =
#jid{
user = <<"cavufene">>,
server = <<"<snip>">>,resource = <<>>,
luser = <<"cavufene">>,
lserver = <<"<snip>">>,lresource = <<>>},
to =
#jid{
user = <<"<snip>">>,server = <<"<snip>">>,
resource = <<"Conversations.Resource">>,luser = <<"<snip>">>,
lserver = <<"<snip>">>,
lresource = <<"Conversations.Resource">>},
subject = [],body = [],thread = undefined,
sub_els =
[#fasten_apply_to{
id = <<"1766947059140443">>,external = undefined,
sub_els =
[#message_moderated_21{
by =
#jid{
user = <<"cavufene">>,
server = <<"<snip>">>,
resource = <<"<snip>">>,luser = <<"cavufene">>,
lserver = <<"<snip>">>,
lresource = <<"<snip>">>},
reason = undefined,
sub_els = [#message_retract_30{}],
occupant_id = undefined}]},
#message_retract{
id = <<"1766947059140443">>,reason = undefined,
moderated =
#message_moderated{
by =
#jid{
user = <<"cavufene">>,
server = <<"<snip>">>,
resource = <<"<snip>">>,luser = <<"cavufene">>,
lserver = <<"<snip>">>,
lresource = <<"<snip>">>},
sub_els = [],occupant_id = undefined}},
#occupant_id{
id = <<"g20AAAAgaAz8YITMBGhfjs9jF3PeT/FsmmtG0yEl4daZ3GChWms=">>}],
meta = #{stanza_id => 1766947206956153,mam_ignore => true}}
When going online in Gajim I saw
<message to='[email protected]/gajim.Foo' from='[email protected]/resource' type='error'>
<apply-to id='1766865869974241'
xmlns='urn:xmpp:fasten:0'>
<moderated by='[email protected]/resource'
xmlns='urn:xmpp:message-moderate:0'>
<retract
xmlns='urn:xmpp:message-retract:0'/>
</moderated>
</apply-to>
<retract id='1766865869974241'
xmlns='urn:xmpp:message-retract:1'>
<moderated by='[email protected]/resource'
xmlns='urn:xmpp:message-moderate:1'/>
</retract>
<occupant-id id='g20AAAAgq5N9uUOb0TlofAbYkPB5+EM54T3xeIwg5YsKCOQVSFk='
xmlns='urn:xmpp:occupant-id:0'/>
<error type='cancel'>
<service-unavailable
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
<text xml:lang='en'
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>User session terminated
</text>
</error>
<x
xmlns='http://jabber.org/protocol/muc#user'>
<item jid='[email protected]/gajim.resource' role='none' affiliation='owner'/>
<status code='110'/>
</x>
</message>
Additional Notes
- Reproduced on Conversations.im
Works fine with Prosody 13.0.
Correction: Could also reproduce with Prosody 13.0 now.
Metadata
Metadata
Assignees
Labels
No labels