Opened 8 years ago

Last modified 7 years ago

#3865 new enhancement

[PATCH] Properly handle XMPP private messages

Reported by: scythetwirler Owned by:
Priority: Should Have Milestone: Backlog
Component: Multiplayer lobby Keywords: patch
Cc: Patch:

Description

XMPP has both room level private messages (arena20.conference.lobby.wildfiregames.com/user) and regular private messages (user@…).

Attachments (1)

PM.patch (2.5 KB ) - added by scythetwirler 8 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by scythetwirler, 8 years ago

Owner: set to scythetwirler
Status: newassigned

by scythetwirler, 8 years ago

Attachment: PM.patch added

comment:2 by elexis, 8 years ago

  • Tested by Itms few days ago and by me today, works so far.
  • But if you logout and login again, the public/room messages are shown, while the PMs are not.
  • Should it really be translate("Received Whisper"), not translate("Private")?

comment:3 by elexis, 8 years ago

Keywords: simple added

Can't be that hard to receive the private messages on join, if we can receive them afterwards, right?

comment:4 by elexis, 8 years ago

In 18375:

Lobby cleanup. Patch by scythetwirler, refs #3865.

Replace an ugly workaround of r17581 with a proper check.

comment:5 by elexis, 8 years ago

Keywords: review simple removed
Milestone: Alpha 21Backlog

Simple: not Backlogging: due to lack of progress Review: Messages to elexis3@…/0ad are received, messages to elexis3@… are not.

All private messages that I receive after applying the XmppClient.cpp patch are still handled in XmppClient::handleMessage and not the changed XmppClient::handleMUCMessage, so either I'm testing incorrectly or the patch doesn't work.

Looking at the gloox specs ( https://camaya.net/api/gloox/classgloox_1_1MUCRoomHandler.html#a759867d6c8b09cf9b62fe2dd378588e8 ) I see that I must be testing incorrectly.

Notice that sending a PM to a user means that the user will likely answer in the public chat, which is likely not intended. This is also mentioned by the spec:

If the message is private, and you want to answer it privately, you should create a new MessageSession to the user's full room nick and use that for any further private communication with the user. 

To close the ticket as fixed, all PMs should be shown at least.

comment:6 by elexis, 8 years ago

In 18378:

Distinguish private and public room level messages in the lobby. Patch by scythetwirler, refs #3865.

comment:7 by scythetwirler, 7 years ago

Owner: scythetwirler removed
Status: assignednew

comment:8 by elexis, 7 years ago

In 20005:

Support the Message of the Day and Announcements sent by the lobby administrator instead of throwing a JS warning.

Display a message box for these as proposed by scythetwirler. Add a comment explaining the origin of messages without "from" property, so that commits like rP19250 don't remove that check unknowingly.
Document that We intend to not support private messages between users, refs #3865, P61.

Fixes #4688.
Document that we currently don't intend to support private messages between users, refs #3865, P61.

Note: See TracTickets for help on using tickets.