[Telepathy-commits] [telepathy-gabble/master] Add a comment explaining what's going on with MUC joins if we don't get the name we asked for
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Aug 19 10:53:04 PDT 2008
20080606160213-53eee-1c6f924c1e97037463559e4767b314fc97235d84.gz
---
src/gabble-muc-channel.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/gabble-muc-channel.c b/src/gabble-muc-channel.c
index f57375b..17cf875 100644
--- a/src/gabble-muc-channel.c
+++ b/src/gabble-muc-channel.c
@@ -1691,6 +1691,19 @@ _gabble_muc_channel_member_presence_updated (GabbleMucChannel *chan,
if (handle == mixin->self_handle &&
owner_handle != conn->self_handle)
{
+ /* We know that in XEP-0045 compliant MUCs, nobody else can have
+ * the nick we tried to use - the service MUST reject us
+ * with code 409/"conflict" in this case. So, if someone in the
+ * room has the nick we want, it's us.
+ *
+ * If the MUC service fails to comply with this requirement,
+ * we get hopelessly confused, but this isn't a regression
+ * (we always would have done).
+ *
+ * FIXME: we ought to respect the 110 and 210 status codes
+ * too, so we can detect MUCs renaming us - otherwise the
+ * presence aggregator will never stop
+ */
DEBUG ("Overriding ownership of channel-specific handle %u "
"from %u to %u because I know it's mine",
mixin->self_handle, owner_handle, conn->self_handle);
--
1.5.6.3
More information about the Telepathy-commits
mailing list