Peter Saint-Andre wrote:


On 12/19/12 2:50 PM, Dave Cridland wrote:

> So, when I've been thinking about this, I've generally come to the

> conclusion that MUC has a fairly chunky design flaw, which is that

> we conflated the addressing, and display, of occupants.

>

> The "right" way of doing this would be to randomly assign the

> resource, and then have a distinct nickname, which might be

> non-unique.

>

> But I have no idea how to get there from where we are.

 

Choose a random resourcepart and use XEP-0172:

 

<presence from='[email protected]/foo'

                  to='[email protected]/2n183bdg36avc64'>

  <nick xmlns='http://jabber.org/protocol/nick'>Ishmael</nick>

</presence>

 

That would work, but only if the clients expected something entirely different from the status quo.

> I can solve the second problem for anonymous rooms by giving them a

> jid; that could either be an in-room style jid or some other shadow

> jid on the MUC server. If it's an in-room jid, that allows us to

> not only track the different occupants using the same jid, but it

> also allows us to address them independently, which seems handy.

> It's halfway to the "right" design I outlined above.

>

> To put it another way, you make the anonymous case work by making

> all rooms non-anonymous, but the jid so revealed might itself be

> anonymized.

>

 

So what I meant by this was to have the MUC send:

 

 

<presence from='[email protected]/Ishmael' to='...'>
  <x xmlns='muc' jid='[email protected]/actors..AF14D9' affiliation='moderator'/>
</presence>
<presence from='[email protected]/Ishmael' to='...'>
  <x xmlns='muc' jid='[email protected]/actors..AF14DA' affiliation='moderator'/>
</presence>
 
So while we (the receiver) don't know who Ishmael really is, we do know there's actually two of them and can address them independently if needs be, via "in-room" style jids that are hidden. If you include the real jids, instead, then obviously that works too.
 

> The first issue needs an extension to solve; I think we need some

> additional gunk in the join for clients to indicate they'll be

> unfazed by having multiple occupants for the same nickname.

 

Unfazed on the sending side (my own occupant JID), the receiving side

(other occupants), or both?

So in the proposal I didn't really make very clear, I was assuming that in showing both the nick-share occupants during the initial room presence (the occupant listing) that would probably break clients that don't expect it, whereas it's a simple enough thing to signal during the client's own joining presence.

 

> Seems reasonable?

 

Something along those lines, yes. :-)

Does this make it clearer?

 

 

 

Sent with inky

 

Reply via email to