View Issue Details

IDProjectCategoryView StatusLast Update
0001750unrealircdpublic2013-01-09 10:43
ReporterDabljuh Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionduplicate 
PlatformX86 / All?OSLinuxOS Version2.4.20
Product Version3.2-RC1 
Summary0001750: Erratic Auditorium Mode (+u) Behaviour
DescriptionThe Auditorium Mode behaves erratic. I can think of two basic ways to make such a mode behave like. I call these two modes 'temporary invisibility' and 'complete invisibility'.

In 'temporary invisibility', an user would be invisible in the channel until he says something. On the first text message, mode change or whatever gives away the presence of an user, a 'join' is pretended/summoned so the client's channel list gets updated, and in the following the user is or is not displayed at successive /who's. Eventually after a certain time of inactivity or for some other reason a 'part' can be summoned / pretended to hide the user again, that in fact still stays in the channel. Ops or halfops could be excempt from the limitations. this mode is used for example on the IRCD that Quakenet uses.

In 'Complete Invisibility' Mode, however, people remain invisible (as in, not showing up in the names list) indefinitely. with the exception for the ops that see all joins and all parts, but do not receive a complete channel list either. This is the way Unrealircd seems to work.

I am not saying either of these modes is superior over the other. Although the latter is possibly harder to implement properly and logically, eventually to the point of where it is impossible to sustain this mode without violating standardized IRC client/server behaviour. They are just modes by convention. many modes in between are imaginable.

The unrealircd rc1 auditorium mode however behaves slightly erratic. People who are opped do not receive a complete channel list (impossible to implement?) nor do people who receive ops show up in the channel list of people who are already in the channel, to see the new ops, they need to /cycle the respective channel.

I request that auditorium mode gets fixed before the final release. Because of the difficulty continuing the complete invisibility model, I suggest you switch for an, in my opinion, more easily implementable temporary invisibility model.
TagsNo tags attached.
3rd party modules

Relationships

related to 0002160 closedsyzop Channel +u Ops 
related to 0003344 closedsyzop +u auditorium mode 
related to 0004160 closedtmcarthur Channel mode +u/+mu 

Activities

Ron2K

2004-04-21 02:41

reporter   ~0005898

You mentioned RC1. It's now outdated, go get RC2-fix. The problem might have been solved there.

Dabljuh

2004-04-21 03:35

reporter   ~0005899

There's nothing in the changelog of rc2-fix that looks like it, and I can't afford to restart the server every 5 minutes.

syzop

2004-04-21 10:16

administrator   ~0005901

This certainly would not be changed before 3.2 final, we are in a total feature freeze / non-RC bug freeze.

Anyway, what you just described is on the TODO list of codemastr (the quakenet idea or similar IIRC).

aquanight

2004-04-21 18:10

reporter   ~0005904

The 'complete invisibility' thing may need to stay in some part because of what happens when you put +m and +u together...

syzop

2004-04-21 18:34

administrator   ~0005905

Last edited: 2004-04-21 18:35

yup... or if they cannot talk -> never talk -> no join... or ah well... it's fun, and I'm going to think of it! ha! ;).

edited on: 2004-04-21 18:35

olene

2004-04-29 01:53

reporter   ~0005942

Heres the way it *should* work:

User joins channel... Only ops (and the person joining) see the JOIN.
When ops do a NAMES, it shows all users.
When non-ops do a NAMES, it shows ops only.
When an op says something, all can see.
When a non-op says something, only ops can see.

When a user is opped, ops see the MODE +o
When a user is opped, non-ops see a JOIN and then a MODE +o

When a user is deopped, ops see the MODE -o
When a user is deopped, non-ops see a MODE -o and then a PART

Likewise, when a non-op PARTs or is KICKed, only ops see the message.

The only time a non-op should be aware of the presence of another non-op in an auditorium channel is if the channel is -t and they set the TOPIC or are invited.

aquanight

2004-04-29 09:41

reporter   ~0005951

That would be good for +mu channels, but +u-m is different, becuase non-op messages will be seen as normal. Also, how would +v users be handled in this case?

Dabljuh

2004-04-29 13:12

reporter   ~0005953

I've thought through it and I don't think its possible to do it in a consistent and conformant way without some sort of virtual list.

+u is just one tiny, little mode, and should have the least possible effect. Too bad there isn't anything in the RFC. But that the RFC isn't the cure for all shows the +p and +s problem - This simply doesn't make sense. Personally, I would prefer to violate the RFC there, just to do it in a way that makes SENSE.

There is not one single right way to do a decent, useful mode +u. We need to think through it and talk it through.

I like the way it works on quakenet for example (see #tutorial and #c++ there) but that doesn't mean that is the only right way.

First of all, we probably need to establish: WHAT IS MODE +u GOOD FOR?

Personally, I was thinking of an adult chat were people can announce their 'desires', but not getting a query open just entering the channel.

Dabljuh

2005-03-09 06:04

reporter   ~0009543

So is this being worked on or not?

JasonTik

2005-03-12 13:19

reporter   ~0009569

Personally, I think the current implementation works alright, as for breaking clients, do <IRC> username: message (unreal already does this under some circumstances, i forget what they are)

stskeeps

2007-04-27 05:51

reporter   ~0013844

Bump. Still an issue?

aquanight

2007-05-17 20:15

reporter   ~0014157

I recall nothing on this matter being changed. So I would dare say it is still an issue.

syzop

2013-01-09 10:42

administrator   ~0017327

Discussion moved to 0004160

Issue History

Date Modified Username Field Change
2004-04-21 01:34 Dabljuh New Issue
2004-04-21 02:41 Ron2K Note Added: 0005898
2004-04-21 03:35 Dabljuh Note Added: 0005899
2004-04-21 10:16 syzop Note Added: 0005901
2004-04-21 18:10 aquanight Note Added: 0005904
2004-04-21 18:34 syzop Note Added: 0005905
2004-04-21 18:35 syzop Note Edited: 0005905
2004-04-29 01:53 olene Note Added: 0005942
2004-04-29 09:41 aquanight Note Added: 0005951
2004-04-29 13:12 Dabljuh Note Added: 0005953
2004-11-25 00:25 codemastr Relationship added related to 0002160
2005-03-09 06:04 Dabljuh Note Added: 0009543
2005-03-12 13:19 JasonTik Note Added: 0009569
2007-04-27 05:51 stskeeps Note Added: 0013844
2007-04-27 05:51 stskeeps Status new => feedback
2007-05-17 20:14 aquanight Relationship added related to 0003344
2007-05-17 20:15 aquanight Note Added: 0014157
2007-05-17 20:15 aquanight Status feedback => acknowledged
2013-01-09 10:40 syzop Relationship added related to 0004160
2013-01-09 10:42 syzop Note Added: 0017327
2013-01-09 10:42 syzop Status acknowledged => closed
2013-01-09 10:43 syzop Assigned To => syzop
2013-01-09 10:43 syzop Resolution open => duplicate