diff options
author | Matthew Fennell <matthew@fennell.dev> | 2024-06-28 15:33:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-28 16:33:59 +0200 |
commit | da4ded964f122ffef194d3f7d7cf7fd0fd71d8cf (patch) | |
tree | bc27236b18d93982ab659f2835c801f8c35ec26d /plugins/ice/src/util.vala | |
parent | 749a0f1fae4885971bace1daec2ca0bdfba18eb8 (diff) | |
download | dino-da4ded964f122ffef194d3f7d7cf7fd0fd71d8cf.tar.gz dino-da4ded964f122ffef194d3f7d7cf7fd0fd71d8cf.zip |
Self-ping with server-given roomnick (#1594)
* Self-ping with server-given roomnick (#1467)
XEP-0045 describes how a server can modify a user's roomnick when joining a
room. To do this, it assigns status code 210, and sets the "from" attribute to
a JID with thew newly assigned nickname when sending the user's presence back
to the client.
This is used in IRC gateways such as biboumi. Since you can only have one nick
per IRC server, if you try and join multiple IRC-bridged MUCs on the same IRC
server, it will modify your nick to match the existing one you have on that
server.
Currently, when Dino performs a self-ping after joining a room, it uses the
nick that the client first requested, instead of the nick returned from the
server. This can lead to incorrect self-pings being sent out (until the client
is restarted, and populates mucs_todo correctly). This happens because it adds
the requested Jid to mucs_todo, before getting the given nick from the server.
Therefore, this commit adds the jid that has been given from the server
instead. If there is any error in requesting to join the MUC, it adds the
requested nick, to match existing behaviour and allow the request to be retried
via future self-pings.
fixes #1467
* Minor coding style changes
---------
Co-authored-by: fiaxh <git@lightrise.org>
Diffstat (limited to 'plugins/ice/src/util.vala')
0 files changed, 0 insertions, 0 deletions