UI improvements in the xmpp room list dialog

Etan Reisner pidgin at unreliablesource.net
Tue Mar 23 20:24:51 EDT 2010

On Tue, Mar 23, 2010 at 11:28:23PM +0100, naw wrote:
> Hi, I have several ideas fot user interface improvements in the xmpp room list
> dialog
> Currently, in xmpp when you want to see the room list, you have to open the
> room list dialog, and then open another dialog to introduce the conference
> server address. I think that it would be more usable to have a text box in the
> main dialog like Psi or Gajim.

Doing this is going to depend on how well we can make it work for the
protocols which do not require (and do not support) a choice of chat room

Unless there's any reason the code doesn't sanely allow for this I'm ok
with it as long as we make it clear.

> I think that it would be better to get the list from the current server
> automatically. Although in some servers with lots of rooms could be slow. I'm
> thinking on jabber.org... but it seems to be a server bug

The only way I would be ok with this is if we first asked the server how
many rooms there are currently and it was below some reasonable threshold.
I absolutely do not want us to send out a request not knowing whether we
are going to get back five rooms or five thousand.

> Both points are also applicable to the service discovery plugin.

The disco plugin browser is narrower both in scope and in amount of data.
I'm ok with both of these things being done there.

> The third problem is, the node of the server where the user has an account
> seems to be autodiscovered (i.e. I have an account on jabberes.org, and in the
> address dialog I see conf.jabberes.org which is the MUC server) The problem is
> when I want to go to another server and I don't know the MUC server address
> (e.g. I know that the jabber.org server exists, but I don't know that the MUC
> address is conference.jabber.org)
> I think that the right thing will be to allow the user to put the server name
> (e.g. jabber.org), pidgin detects if its a MUC server or the main server. If
> is the main server, autodiscover the correct address and rewrites it in the
> address textbox.

I don't think doing the discovery in the dialog is the right idea (nor do
I know that it is particularly feasible). I think it quite likely that the
right thing to do would simply be to accept anything that looks like a
server JID and disco it to discover its type. Assuming it is a MUC service
get the room list like normal, if it is a server see if it has a MUC
service and get the room list from that, if it isn't either of those (or
if the server doesn't have a MUC service listed) fail and error.

> Right now, the user has to use the service discovery plugin (which needs to be
> activated previously) to see which is the MUC server address. By the way, from
> the service discovery there doesn't seem to be a way to join a room without
> adding it to the contact list.

Adding a Join item to the context menu for a room item is probably a good
idea also.


More information about the Devel mailing list