Irssi core bugs

Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 85 Notice: Undefined index: tasklist_type in /var/www/ : eval()'d code on line 90
  • Status Unconfirmed
  • Percent Complete
  • Task Type Feature Request
  • Category core
  • Assigned To No-one
  • Operating System All
  • Severity Medium
  • Priority Normal
  • Reported Version irssi 0.8.14
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 0
  • Private No
Attached to Project: Irssi core bugs
Opened by Jeffery Palm (palmje) - 2010-03-21

FS#742 - Support for owner(~) and admin(&) modes

Support for owner and admin modes would be nice.

Add to the selection of nicks to show in the names list:
Currently the names lists can be filtered on what types of nicks to show (op/halfop/voice/normal) and owner and admin types are treated as normal.
The should be given their own filters and treated as their own type.

Add to summary of names list:
Right now owners and admins are counted as normal users.
Should have their own categories added.

Add to the nick item:
Currently you can only test for op/halfop/voice on a nick, which can cause problems when the owners and admins don't have +o set as well, or when irssi doesn't see them given +o.
owner and admin fields should be added and exported into the perl scripting interface.

Add to the theming:
Currently each type of user (op/halfof/voice/normal) can be themed differently in the names list.
This should also apply to the owner and admin types.

I have already implemented all the features based on the 0.8.14 code and have attached the patch file.

This task does not depend on any other tasks.

snip (sneep)
Tuesday, 06 April 2010, 19:28 GMT

I've had a look at your patch, and here are some issues that would maybe have to be resolved before it could be accepted. Note that I'm not part of the irssi team, and I've got exactly zero lines of code in the irssi code base. (I've written a patch that addressed this issue before, though it was much simpler, and pretty much boiled down to counting anything "above" operators as operators in the output of /names -count. My patch got discarded because an ircd called inspircd requires that a user have +o for operator privileges. Anything above that alone does not confer operator privileges there.) Your patch calls +a'ds admins and +q'ds owners. I'm not sure if this nomenclature is 100% correct; I think it's more common to call +a'd people protected*. Then there's another problem, in the following code:
while (isnickflag(server, *ptr)) {
prefix_add(prefixes, *ptr, (SERVER_REC *) server);
switch (*ptr) {
+ case '~':
+ owner = TRUE;
+ break;
+ case '&':
+ admin = TRUE;
+ break;
The ircd is actually free to assign anything above +o any mode char it wants, and it's also free to select a different prefix. AFAIK, on irchighway, they've got '!' instead of '&' for example.

* Perhaps it would be better to just call anything that isn't @, %, or + "special"?
Wouter Coekaerts (coekie)
Tuesday, 06 April 2010, 19:39 GMT
There is already code that tries to deal with every "non-standard" mode. we don't like more modes being added to the "standard" set, because they just aren't standard; as sneep says, they can differ from ircd to ircd.
Changing the endofnames to be a huge message everywhere (even on servers that don't support any of those modes) is also something many users won't like.

Fixes or improvements to the generic handling of other modes would be most welcome.
For example for the /names command, maybe a "/names -mode a" or "/names -mode ~" or something like that.
For scripts, the other modes are already exposed as the 'other' attribute on a nick object.