Week 9 & 10
We have a new design for MIX ! As proposed by mentors, we have a new implementation scheme for MIX involving MIX Registry, which will have access to all MIX objects for successfully joined channels.
The new design allows requesting a MIX Registry from Client and detecting whether local server is supported. It also adds XMPPRoster to be a part of MIXRegistry. A standard roster encoding is as follows:
However, if a roster item is a MIX channel, the new encoding will be :
<item firstname.lastname@example.org'> <channel xmlns=‘urn:xmpp:mix:roster:0'/> </item>
Based on this, we now define a channel to be successfully joined or left based on the presence of channel JID in the user's roster. If a channel is successfully joined, a roster encoding with a channel element is added to user's roster. Similarly, when channel is left, roster encoding is removed from user's roster.
In the upcoming weeks, I will update limber to have minor support for MIX and test my implementation against it.