Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).

Build: #942 was successful Changes by Florian Schmaus

Build result summary

Details

Completed
Queue duration
30 minutes
Duration
40 minutes
Labels
None
Agent
ip-172-31-27-151.eu-central-1.compute.internal
Revision
cf8a8466e444041f7169bd6b86ed492390b2f056
Total tests
890
Successful since
#937 ()

Tests

Code commits

Author Commit Message Commit date
Florian Schmaus Florian Schmaus cf8a8466e444041f7169bd6b86ed492390b2f056 Merge remote-tracking branch 'origin/master'
Guus der Kinderen Guus der Kinderen 98dbc0ee2eb1e15ae83c7ed9025a9b3075670bb1 m [muc] Prevent duplicate processing of mediated invitations
MUC mediated invitations usually have the form

<message
    from='coven@chat.shakespeare.lit'
    id='nzd143v8'
    to='hecate@shakespeare.lit'>
  <x xmlns='http://jabber.org/protocol/muc#user&#39;>
    <invite from='crone1@shakespeare.lit/desktop'>
      <reason>
        Hey Hecate, this is the place for all good witches!
      </reason>
    </invite>
    <password>cauldronburn</password>
  </x>
</message>
(source: XEP-0045 Example 57.)

However, previous versions of XEP-0045 specified an additional <x
xmlns='jabber:x:conference'> element to be included (see
implementation note in XEP-0045). Therefore, a legacy implementation
may emit a mediated invitations in the form of

<message
    from="smack-inttest-mediated-invite-from-8ta77-hw9igz@conference.example.org"
        to="smack-inttest-two-8ta77@example.org">
  <x xmlns="http://jabber.org/protocol/muc#user">
    <invite from="smack-inttest-one-8ta77@example.org"/>
  </x>
  <x xmlns="jabber:x:conference" jid="smack-inttest-mediated-invite-from-8ta77-hw9igz@conference.example.org"/>
</message>

Unfortunately, this matches
MultiUserChatManager.DIRECT_INVITATION_FILTER because
GroupChatInvitation matches <x xmlns="jabber:x:conference"/>. However
the message is not a direct invitation but a mediated one. Besides
this invoking the wrong listeners (direct vs. medidated) the value for
'inviter' that's used to invoke that listener will be false.

To fix this, extend DIRECT_INVITATION_FILTER with
NotFilter.of(MUCUser.class) to avoid matching those legacy mediated
invitations.

Fixes SMACK-943

Co-authored-by: Florian Schmaus <flo@geekplace.eu>
Florian Schmaus Florian Schmaus 0bb3bf292c051181fae272e1a0b5b97f3dc5dbaa m [core] Add NotFilter.of(Class<E extends ExtensionElement>)

Jira issues

IssueDescriptionStatus
Unknown Issue TypeSMACK-943Could not obtain issue details from Jira
Unknown Issue TypeXEP-0045Could not obtain issue details from Jira