Closed
Bug 98251
Opened 23 years ago
Closed 21 years ago
Implement Half-Op (mode +h) in Chatzilla
Categories
(Other Applications :: ChatZilla, enhancement)
Other Applications
ChatZilla
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: willybur, Assigned: bugzilla-mozilla-20000923)
Details
(Whiteboard: cz-patch)
Attachments
(5 files, 5 obsolete files)
217 bytes,
image/png
|
Details | |
11.05 KB,
patch
|
Details | Diff | Splinter Review | |
23.12 KB,
patch
|
Details | Diff | Splinter Review | |
253 bytes,
image/png
|
Details | |
1.44 KB,
patch
|
rginda
:
review+
|
Details | Diff | Splinter Review |
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.3+) Gecko/20010904
BuildID: 2001090408
I'm not sure if half-op is an IRC standard or not, I've only recently seen or
heard about it, but it isn't implemented right. Like the op gets a @, the
half-op gets a %.
Rather than have one of those mode lights turn on for half op, the half op just
gets no lights.
When one joins a channel, the existing half-ops do have a % next to their name.
But when I half op myself, no % sign is added, since half-op isn't recognized.
To see the % sign with my nick, I have to do a whois on myself.
A half-op light should be added. As a color guideline, I believe that in Xchat,
the user gets a blue light turned on.
Reproducible: Always
Steps to Reproduce:
1. Connect to an IRC server supporting half-ops (i.e goldengate.ca.us.knightnet.net)
2. Make a new channel (i.e #foobar)
3. You should be op, set mode +h (half-op) on yourself (i.e /mode #foobar +h
IRCMonkey)
4. Deop yourself (i.e /mode #foobar -o IRCMonkey)
5. At this point, you are now a half-op
Actual Results: Nothing happens in the nick list, and only the whois results
show the half op sign.
Expected Results: A half-op light needs to be implemented, and the discrepancy
between existing and newly made half-ops needs to be fixed.
Comment 2•23 years ago
|
||
+h is only found on some small networks AFAIK. It's hardly pervasive.
It's usually not useful to talk about "standards" WRT IRC, since there really
aren't any. Sure, there are RFCs, but they only really pertain to EFnet. All
networks do things a little differently. You could fit all of the modes and
commands that all ircds support in the same way on a 3"x5" index card.
Comment 3•23 years ago
|
||
Remove myself from QA of 33 open Chatzilla bugs and change to default QA
contact, since I have no way to verify these easily. Still no working Mozilla
on my primary platform and it doesn't look like it will happen anytime soon. :(
QA Contact: mozilla → samuel
Comment 4•22 years ago
|
||
Since Unreal and UltimateIRCd (and other IRCd's) support it over 100 'small' irc
networks are using it.
In addition what was said earlier, Halfops can kick non (half)ops and voice
other people.
Summary: [RFE] Implement Half-Op (mode +h) in Chatzilla → Implement Half-Op (mode +h) in Chatzilla
Comment 5•22 years ago
|
||
so painfull this samm vbug who add a % at the nickname in the users list, please
correct this !
Comment 6•22 years ago
|
||
It seems that implementing the 005 numeric (PREFIX) would solve this. This page
explains the format of the PREFIX response: http://www.irc.org/tech_docs/005.html
Comment 7•22 years ago
|
||
That 005 message would be nice if all servers supported it. But it also looks
like the server doesn't even need to list *all* the modes either:
"Note: Some servers only show the most powerful, others may show all of them."
Comment 8•22 years ago
|
||
005 is in a strange situation. The updated RFCs, the de iure standard (such as
they are), say that it's RPL_BOUNCE, a message sent when the server is full and
can't accept new connections. However, before the updated RFCs, many servers
implemented it as RPL_ISUPPORT (aka RPL_PROTOCL), which lists the features of
the ircd the client may want to know about, and that's the de facto standard.
It's a sort of grey area, but lots of ircds (including major ones) do implement
it and I suppose some clients do understand it.
the handling of the "%" needs some tweaking
if I do a whois with the mouse it makes a /whois %nick which does ofc fail
Tab completion requires to type "%nic" instead "nic" and then ofc again remove
the "%"
yes and I would like to know too if I´m halfop
Assignee | ||
Comment 10•22 years ago
|
||
A friend of mind has suggested making ChatZilla support 'any' user modes, using
the PREFIX= part of the 005 message. At the end of next week (exams :) ) I'd be
happy to take this bug and actually implement this.
Assignee | ||
Updated•21 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 12•21 years ago
|
||
It has become apparent that having all three mode columns (with half-ops, which
I'm currently working on) visible looks quite messy. It would not be too much
work to move to a single column for the 'mode', and would make it much easier
for coping with multiple servers where only some have half-ops.
Comments?
Assignee | ||
Comment 13•21 years ago
|
||
What this patch does:
- Added userModeList to CIRCNetwork object to keep track of user modes
supported on the network. Defaults to the equivelant of "PREFIX=(ov)@+".
- When a 005 message comes in, the CIRCNetwork parses the PREFIX section and
replaces it's default userModeList with whatever the PREFIX item contains,
assuming the item is in the right format. :)
- /NAMES reply code checks for each code mentioned in PREFIX, as does the MODE
handler.
- chan_adduser/new CIRCChanUser now takes a |modes| parameter instead of
|isOp| and |isVoice|. This parameter is a list of modes for the user, which may
be +/- prefixed if user is already an existing user. (e.g. passing ["o"] makes
a user /just/ Operator, passing ["+o"] makes them an Operator /as well/ as
anything they may already be, if they already exist (the list may only be all
"o"-style, or all "+o"-style - it won't work with a mix of the two).
- CIRCChannel.prototype.getUsersLength/chan_userslen now takes a |mode|
parameter. When not passed, the function behaves as before and returns the
total count of users. When passed a mode, e.g. "o", it returns the ocunt of
users with that mode.
- The is used by the GUI to list the number of people with each mode the
server supports in the *Mode* box in the header.
- CIRCChannel.prototype.setTopic and many others now don't check for Operatory
status, since we have no way of knowing which modes the user needs for these
commands any more - half-ops may be able to do it, but what about some other
mode? The messages back from the server a clear enough, IMHO.
- CIRCChanUser now has |isHalfOp| which is a shorthand for checking for "h" is
the user's mode list. They also now have |setHalfOp|, working just like |setOp|
and |setVoice|, to send +h/-h MODEs to the server.
- The commands /hop and /dehop have been added to add/remove +h people, and a
Grant/Revoke Half-operator Status item has been added to the context menu -
only shows up if the server supports it and you have ops.
- Finally, the user-list in the GUI now has just one column next to Nickname -
"Mode". This uses the is-op/is-halfop/is-voice/isnt-voice set of lights (I did
is-half-op as yellow). The column sorts by 'power' of the mode, too.
- Entities added: hopUsage, hopHelp, dehopUsage, dehopHelp, cli_idehopMsg,
cli_idehopMsg2, cli_ihopMsg, cli_ihopMsg2
- Updated/changed entities: cli_ideopMsg, cli_iopMsg
It also needs a 'light' in the skin/modern/images directory called
is-halfop.gif (I've used yellow colouring for mine).
Comment 14•21 years ago
|
||
/hop is not a good choice unfortunately. This is already a known command in
other IRC clients and we may yet implement it as well.
Assignee | ||
Comment 15•21 years ago
|
||
Are you refering to the way mIRC uses it to cycle a channel?
I'd much rather use /cycle for that, should we implement it.
Assignee | ||
Updated•21 years ago
|
Attachment #125697 -
Flags: review?(rginda)
Assignee | ||
Comment 16•21 years ago
|
||
Unless there's any objections, I'll start to port this patch over to ChatZilla
0.9.x in the next few days/this week.
Comment 17•21 years ago
|
||
What's the status on this?
Assignee | ||
Comment 18•21 years ago
|
||
Assignee | ||
Comment 19•21 years ago
|
||
These two patches together allow ChatZilla 0.9.x to at least handle half ops
(in so far as not getting confused), and add the /hop /dehop commands. No GUI
elements have been added.
Attachment #125697 -
Attachment is obsolete: true
Assignee | ||
Updated•21 years ago
|
Attachment #125697 -
Flags: review?(rginda)
Assignee | ||
Updated•21 years ago
|
Whiteboard: cz-patch
Assignee | ||
Comment 20•21 years ago
|
||
This is the same as attachement 135564, except it adds the RDF code for the
userlist, and makes it sort correctly. I have also make two new images, which
I'll attache (though they are just quick attempts).
Assignee | ||
Updated•21 years ago
|
Attachment #135564 -
Attachment is obsolete: true
Assignee | ||
Comment 21•21 years ago
|
||
Assignee | ||
Comment 22•21 years ago
|
||
Assignee | ||
Comment 23•21 years ago
|
||
Initialises all properties on the server to null in ctor, and defaults in 001
handler.
Adds service.supports.rpl_isupport.
Moved channelModes, channelTypes and useModes to server object.
Assignee | ||
Updated•21 years ago
|
Attachment #135563 -
Attachment is obsolete: true
Assignee | ||
Comment 24•21 years ago
|
||
Updates ChanUser ctor to ignore null for the modes parameter as well as [].
Fixed getUsersLength.
Assignee | ||
Updated•21 years ago
|
Attachment #135576 -
Attachment is obsolete: true
Comment 25•21 years ago
|
||
Made in the gimp with the following font:
-urw-gothic l-demi bold-r-normal--12-120-75-75-p-69-iso8859-2
Updated•21 years ago
|
Attachment #135579 -
Attachment is obsolete: true
Assignee | ||
Comment 26•21 years ago
|
||
Checked in as part of the 0.9.49 landing.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Comment 27•21 years ago
|
||
seems to be working fine in today's nightly. thanks james and robert :)
Assignee | ||
Updated•21 years ago
|
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 29•21 years ago
|
||
The items in the submenu were enabled by a previous patch, but I missed the
actual submenu item itself. This fixes that.
Assignee | ||
Updated•21 years ago
|
Attachment #139771 -
Flags: review?(rginda)
Comment 30•21 years ago
|
||
Comment on attachment 139771 [details] [diff] [review]
Enables the operator submenus when you have half-ops
r=rginda
Attachment #139771 -
Flags: review?(rginda) → review+
Assignee | ||
Comment 31•21 years ago
|
||
Comment on attachment 139771 [details] [diff] [review]
Enables the operator submenus when you have half-ops
Checked in.
Assignee | ||
Updated•21 years ago
|
Status: REOPENED → RESOLVED
Closed: 21 years ago → 21 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: Core → Other Applications
Updated•18 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•