diff --git a/Protocol.md b/Protocol.md index 8d652c9..e79610e 100644 --- a/Protocol.md +++ b/Protocol.md @@ -388,7 +388,7 @@ The chat server holds onto blocklists temporarily in memory: when that user load The reason for this workflow is in case the chat server is rebooted _while_ the user is in the room. The cached blocklist pushed by your website is forgotten by the chat server back-end, but the client's page was still open with the cached blocklist already, and it will send the `blocklist` command to the server when it reconnects, eliminating any gaps. -## Boot +## Boot, Unboot Sent by: Client. @@ -409,6 +409,16 @@ When a user is booted: Note: it is designed that the person being booted off can not detect that they have been booted. They will see your RTC PeerConnection close + get a Who List that says you are not sharing video - exactly the same as if you had simply turned off your camera completely. +There is also a client side Unboot command, to undo the effects of a boot: + +```javascript +// Client Unboot +{ + "action": "unboot", + "username": "target" +} +``` + ## WebRTC Signaling Sent by: Client, Server. diff --git a/src/App.vue b/src/App.vue index 86460a8..120ffa0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -393,21 +393,25 @@ export default { // Webcam preferences that the user can edit while live. "webcam.nsfw": function () { + LocalStorage.set('videoExplicit', this.webcam.nsfw); if (this.webcam.active) { this.sendMe(); } }, "webcam.mutual": function () { + LocalStorage.set('videoMutual', this.webcam.mutual); if (this.webcam.active) { this.sendMe(); } }, "webcam.mutualOpen": function () { + LocalStorage.set('videoMutualOpen', this.webcam.videoMutualOpen); if (this.webcam.active) { this.sendMe(); } }, "webcam.vipOnly": function () { + LocalStorage.set('videoVipOnly', this.webcam.vipOnly); if (this.webcam.active) { this.sendMe(); } @@ -939,7 +943,7 @@ export default { // The server can set our webcam NSFW flag. let myNSFW = this.webcam.nsfw; let theirNSFW = (msg.video & this.VideoFlag.NSFW) > 0; - if (this.webcam.active && myNSFW != theirNSFW) { + if (this.webcam.active && myNSFW != theirNSFW && theirNSFW) { this.webcam.nsfw = theirNSFW; } diff --git a/src/components/ProfileModal.vue b/src/components/ProfileModal.vue index 68d9c6e..bb155ab 100644 --- a/src/components/ProfileModal.vue +++ b/src/components/ProfileModal.vue @@ -143,7 +143,7 @@ export default { -
+
@@ -165,24 +165,24 @@ export default { @{{ user.username }} + + +
+ + + Operator + + + + + + {{ vipConfig.Name }} + +
- -
- - - Operator - - - - - - {{ vipConfig.Name }} - -
-
@@ -244,7 +244,8 @@ export default {