aboutsummaryrefslogtreecommitdiff
path: root/main/src/view_model
diff options
context:
space:
mode:
authorMatthew Fennell <matthew@fennell.dev>2024-06-28 15:33:59 +0100
committerGitHub <noreply@github.com>2024-06-28 16:33:59 +0200
commitda4ded964f122ffef194d3f7d7cf7fd0fd71d8cf (patch)
treebc27236b18d93982ab659f2835c801f8c35ec26d /main/src/view_model
parent749a0f1fae4885971bace1daec2ca0bdfba18eb8 (diff)
downloaddino-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 'main/src/view_model')
0 files changed, 0 insertions, 0 deletions