Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auditorium mode #484

Closed
slingamn opened this issue May 13, 2019 · 8 comments · Fixed by #1300
Closed

auditorium mode #484

slingamn opened this issue May 13, 2019 · 8 comments · Fixed by #1300
Labels
Milestone

Comments

@slingamn
Copy link
Member

This is coming out of discussion in #ircv3 with the Ripcord developer. Conventional IRC channels are O(n^2) in the number of participants, because of the need to propagate all the JOINs and PARTs. One might think that this is unavoidable, because if n people are talking on a channel then the server has to propagate O(n^2) PRIVMSG's. But actually, channels are unusable if more than 100 or so people are talking at once, so the problem is mostly about JOIN, PART, and NAMES for channels where the number of listeners >> the number of speakers.

Idea: an "announcements" mode for channels that is like +m (only privileged users can speak), but which strategically suppresses JOIN, PART and NAMES once the number of users goes over a certain threshold. This would be a replacement for site-wide announcements channels on Slack or Discord.

@DanielOaks
Copy link
Member

Hmm, some servers have Auditorium mode which is basically this:
https://docs.inspircd.org/3/modules/auditorium/
http://docs.dal.net/docs/modes.html#2.1

@slingamn slingamn changed the title scalable solution for very large "announcement" channels auditorium mode May 13, 2019
@slingamn slingamn added this to the v1.1 milestone May 13, 2019
@TehPeGaSuS
Copy link
Contributor

TehPeGaSuS commented May 14, 2019

Although being a third party module of UnrealIRCd: https://gitgud.malvager.net/Wazakindjes/unrealircd_mods/src/master/man/auditorium.md

@bogdomania
Copy link

I remember this mode being used on ircu(Undernet) on #Opschool, where noone could text, but users could ask questions via a bot, and with !next, the first user in queue was getting +m, so except for the @, only one user at a time was allowed to speak...like a ticketing system. Not sure about case usage except this.

@bogdomania
Copy link

+v, sorry, not +m, the channel was +m. Sorry, I can't edit from phone.

@ergochat ergochat deleted a comment from bogdomania May 23, 2019
@bogdomania
Copy link

bogdomania commented May 28, 2019

above comment^


so, except for the +m mode, on channel, since no user is able to speak, until and even after !next is invoked, the user could not see the fully populated userlist on the channel ( only @), like noone else was present on channel, just the @ and the !next given voice user.
Synth: only @ could see the full users list on the Channel(hundreds, if so), the rest of the users, could only see @ and himself/herself in the userlist, adding the +m, since only +v and up was able to speak.
I don't know how helpful this is, or even if Auditorium should be implemented, or needed.
I think +j is more useful on it's own, tbh -> #319

@slingamn slingamn modified the milestones: v1.2, v1.3 Nov 8, 2019
@slingamn slingamn modified the milestones: v1.3, 1.4 Jan 8, 2020
@slingamn slingamn modified the milestones: v2.1, v2.2 Mar 20, 2020
@slingamn slingamn modified the milestones: v2.2, v2.3 Jul 2, 2020
@slingamn slingamn modified the milestones: v2.3, v2.4 Aug 23, 2020
@scanned
Copy link

scanned commented Sep 26, 2020

Thank you sir dan, ill wait for this enhancement soonest 👍

@slingamn
Copy link
Member Author

I have a draft of this lying around that I can revive...

@slingamn slingamn added the release blocker Blocks release label Sep 27, 2020
@slingamn
Copy link
Member Author

@scanned BTW, my guess about your config syntax issue is that you have tabs in the file (YAML requires the use of spaces, not tabs, for indentation).

slingamn added a commit to slingamn/ergo that referenced this issue Oct 1, 2020
slingamn added a commit to slingamn/ergo that referenced this issue Oct 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants