fix config not saving with broken listeners, fix cursor ReferenceError

This commit is contained in:
ari melody 2025-03-31 13:36:02 +01:00
parent 6db35b2f99
commit ed86aff2a2
Signed by: ari
GPG key ID: 60B5F0386E3DDB7E
3 changed files with 9 additions and 12 deletions

View file

@ -88,13 +88,13 @@ func handleClient(client *CursorClient) {
client.Route = args[1] client.Route = args[1]
mutex.Lock() mutex.Lock()
for _, otherClient := range clients { for otherClientID, otherClient := range clients {
if otherClient.ID == client.ID { continue } if otherClientID == client.ID || otherClient.Route != client.Route { continue }
if otherClient.Route != client.Route { continue } client.Send([]byte(fmt.Sprintf("join:%d", otherClientID)))
client.Send([]byte(fmt.Sprintf("join:%d", otherClient.ID))) client.Send([]byte(fmt.Sprintf("pos:%d:%f:%f", otherClientID, otherClient.X, otherClient.Y)))
client.Send([]byte(fmt.Sprintf("pos:%d:%f:%f", otherClient.ID, otherClient.X, otherClient.Y)))
} }
mutex.Unlock() mutex.Unlock()
broadcast <- CursorMessage{ broadcast <- CursorMessage{
[]byte(fmt.Sprintf("join:%d", client.ID)), []byte(fmt.Sprintf("join:%d", client.ID)),
client.Route, client.Route,

View file

@ -55,6 +55,7 @@ class Config {
get crt() { return this._crt } get crt() { return this._crt }
set crt(/** @type boolean */ enabled) { set crt(/** @type boolean */ enabled) {
this._crt = enabled; this._crt = enabled;
this.save();
if (enabled) { if (enabled) {
document.body.classList.add("crt"); document.body.classList.add("crt");
@ -66,26 +67,24 @@ class Config {
this.#listeners.get('crt').forEach(callback => { this.#listeners.get('crt').forEach(callback => {
callback(this._crt); callback(this._crt);
}) })
this.save();
} }
get cursor() { return this._cursor } get cursor() { return this._cursor }
set cursor(/** @type boolean */ value) { set cursor(/** @type boolean */ value) {
this._cursor = value; this._cursor = value;
this.save();
this.#listeners.get('cursor').forEach(callback => { this.#listeners.get('cursor').forEach(callback => {
callback(this._cursor); callback(this._cursor);
}) })
this.save();
} }
get cursorFunMode() { return this._cursorFunMode } get cursorFunMode() { return this._cursorFunMode }
set cursorFunMode(/** @type boolean */ value) { set cursorFunMode(/** @type boolean */ value) {
this._cursorFunMode = value; this._cursorFunMode = value;
this.save();
this.#listeners.get('cursorFunMode').forEach(callback => { this.#listeners.get('cursorFunMode').forEach(callback => {
callback(this._cursorFunMode); callback(this._cursorFunMode);
}) })
this.save();
} }
} }

View file

@ -328,7 +328,7 @@ function cursorSetup() {
switch (args[0]) { switch (args[0]) {
case 'id': { case 'id': {
myCursor.id = Number(args[1]); myCursor.id = id;
break; break;
} }
case 'join': { case 'join': {
@ -385,8 +385,6 @@ function cursorDestroy() {
cursors.clear(); cursors.clear();
myCursor = null; myCursor = null;
cursorContainer.remove();
console.log(`Cursor no longer tracking.`); console.log(`Cursor no longer tracking.`);
running = false; running = false;
} }