[Bug 23005] Room listing for IRC not working

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Oct 4 20:45:04 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=23005

--- Comment #6 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-10-04 11:45:03 PDT ---
I'm not sure what the future of this branch is. I discussed it with Sjoerd this
morning but we didn't really come to a conclusion: I'd like to either merge it
or abandon it before too long, so we can run Idle through a re-indenter.

Only having one room list seems broken: it's a relic from the pre-Requests spec
in which we couldn't have multiple "similar" channels, and we should just
delete that wording from the spec. In a protocol like IRC where you can only
have one room-listing transaction open at a time, the second and subsequent
channels should probably just not list anything until it's their turn?

There are two problems with indiscriminate room listing (room lists that return
too many results), which jointly prompted the "/list -YES" feature in irssi:

* the server suffers from unwanted load
* you suffer because there's no way to stop the server sending out room names
(possibly throttled to n lines per second where n isn't particularly large),
and until it's finished, you can't receive any other message

The normal way to list channels in a dedicated IRC client like irssi is with
"/list PATTERN", which lists channels matching PATTERN (which is a shell-style
glob, I think?). We don't have API for this yet, only for listing every
channel. We could add a method you call instead of ListRooms, ListByPattern
(s), which takes an unspecified, protocol-specific pattern (a shell-glob on
IRC) and lists some implementation-defined superset of that pattern. This is
starting to look more like ContactSearch :-)

Sjoerd mentioned that the UI he'd ideally like to see in Empathy is "start
typing and channels appear", like the live-search for contacts. One possibility
would be for Idle to make ListByPattern fail until at least n characters were
typed, and for Empathy to keep calling it once per keypress until it succeeded.

However, it's easy to construct pathological patterns that match a lot of
channels but have enough characters in them to look relatively harmless
("******" on any server that uses shell-globs, but that's easy to avoid by not
counting metacharacters, if you know all of them; "#debian-" on irc.debian.org,
which is harder to avoid).

One possibility would be to have a flag for "you must specify a pattern" and
have Empathy not attempt a live search, or to assume that IRC is the only thing
that combines a massive user-base with a shaky protocol and have that flag be
"the protocol is 'irc'".

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list