Chat moderation rules from the main site (or: let shy accounts join chat sans webcams) #48

Open
opened 2024-09-10 23:34:48 +00:00 by noah · 0 comments
Owner

Currently, the BareRTC chat server supports "moderation rules" where specific users can be singled out and restrictions added to them, like: their webcam must always be marked as red, or their webcam broadcast privileges have been revoked.

Instead of this being configured separately on the BareRTC side, the main website should be able to send over moderation rules as the user joins the chat room.

This could: enable "shy accounts" access to join the chat room, but to not allow them to interact with the webcam feature at all (can't broadcast or watch cameras).

JWT Token

This could be implemented by adding a "rules" key to the JWT token that logs a user into chat:

{
    "rules": "redcam,nobroadcast,nowatch"
}

It could be a comma separated list of rules to apply to the user:

  • redcam: the user's camera will be forced as explicit always.
  • nobroadcast: the user is not allowed to broadcast their camera.
  • nowatch: the user is not allowed to watch any camera.

"VIP" Status

On the chat room, there is a "VIP" feature that was previously used to support the inner circle but now goes unused.

It can be repurposed in order to visually tag shy accounts when they join the room:

  • Change the VIP icon to the ghost icon (consistent with the "shy accounts" on the main website)
  • Rename the VIP label from "Inner circle" to "Shy Account"

The user experience will then be: when a shy account joins the chat room:

  • They will have a ghost icon next to their name in the Who's Online list.
  • Their profile card pop-up will show a "Shy Account" label.
  • The user will not be allowed to broadcast their webcam OR watch any webcam on chat, because they are a shy account.

Edge cases/misc notes

What if a user becomes a shy account while logged into chat?

  • Currently they get kicked from the room immediately with a message saying their account became shy.
  • The chat server doesn't have a current way to toggle VIP status/rules for logged-in users.
  • Maybe: we kick them out of chat anyway, but word it like "you can refresh the page to log back in, but will have restrictions due to being a shy account"
Currently, the BareRTC chat server supports "moderation rules" where specific users can be singled out and restrictions added to them, like: their webcam must always be marked as red, or their webcam broadcast privileges have been revoked. Instead of this being configured separately on the BareRTC side, the main website should be able to send over moderation rules as the user joins the chat room. This could: enable "shy accounts" access to join the chat room, but to not allow them to interact with the webcam feature at all (can't broadcast or watch cameras). #### JWT Token This could be implemented by adding a "rules" key to the JWT token that logs a user into chat: ```json { "rules": "redcam,nobroadcast,nowatch" } ``` It could be a comma separated list of rules to apply to the user: * redcam: the user's camera will be forced as explicit always. * nobroadcast: the user is not allowed to broadcast their camera. * nowatch: the user is not allowed to watch any camera. #### "VIP" Status On the chat room, there is a "VIP" feature that was previously used to support the inner circle but now goes unused. It can be repurposed in order to visually tag shy accounts when they join the room: * Change the VIP icon to the ghost icon (consistent with the "shy accounts" on the main website) * Rename the VIP label from "Inner circle" to "Shy Account" The user experience will then be: when a shy account joins the chat room: * They will have a ghost icon next to their name in the Who's Online list. * Their profile card pop-up will show a "Shy Account" label. * The user will not be allowed to broadcast their webcam OR watch any webcam on chat, because they are a shy account. #### Edge cases/misc notes What if a user becomes a shy account while logged into chat? * Currently they get kicked from the room immediately with a message saying their account became shy. * The chat server doesn't have a current way to toggle VIP status/rules for logged-in users. * Maybe: we kick them out of chat anyway, but word it like "you can refresh the page to log back in, but will have restrictions due to being a shy account"
noah added the
enhancement
label 2024-09-10 23:34:48 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: nonshy/website#48
No description provided.