Add channel permission to completely disable all access to queue panel #165
Labels
No labels
Bug
Cleanup/Refactor
Core Feature
Documentation
Feature
Performance Improvement
Security Improvement
UX/Accessibility
Unreproducable Bug
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Blocks
#164 Tweaks and Fixes
rainbownapkin/canopy
Reference: rainbownapkin/canopy#165
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
added #164 as parent issue
per-user per-perm rank checks for queueing actions are more easily implemented in the main channel namespace as that has easier access to relevant user information.
At that same time, looping through, calculating rank, and individually emitting queue for each change feels incredibly clunky and wasteful.
Maybe meet in-between, keep queue-command in the channel namespace, but TX base queue data to clients over a dedicated namespace, that authenticates them on join, avoiding the need to authenticate for each tx, allowing us to just use .broadcast() to send queue data without dumping it to people who shouldn't have it, or fucking up queue command rank checks.
Currently experimenting with whether or not the solution above is worth the extra authentication upon connection...
In a fucked up way it might be easier to give channels a second room (channel-queue).
Maybe it makes more sense than it's own name space since channels will be tied together, and clients have no reason to know the difference between the rooms?
Feels a little dirty splitting channel logic by room string formatting, and not namespaces.
We're already using a separate namespace for PM's, and are planning another for games. We should make a base aux-server class that exists as a child-server to the channel manager with it's own namespace.
Both the pmHandler and queue classes could extend it, re-using the same base authentication logic, adding to it where needed.
Split pmHandler to create auxServer class for easy creation of server classes auxiliary to the channel:
597a984e46Created dedicated queue broadcast namespace, to make authorized queue broadcasts as painless as possible:
5eb307bb9eMoved server-side queue transmission to it's own protected namespace:
6d16ac2353still need a lil work on the ux
Queue icon now only shows when readSchedule is allowed:
57787f81e7