From 1b578019f915918e51185f5705d7fa6e0328b9ae Mon Sep 17 00:00:00 2001 From: KernelDeimos Date: Tue, 10 Dec 2024 14:06:14 -0500 Subject: [PATCH] fix: provide actor context to ws event --- src/backend/src/helpers.js | 1 + src/backend/src/modules/web/WebServerService.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/backend/src/helpers.js b/src/backend/src/helpers.js index 86206a66f..a2929b84f 100644 --- a/src/backend/src/helpers.js +++ b/src/backend/src/helpers.js @@ -1115,6 +1115,7 @@ async function jwt_auth(req){ } return { + actor, user: actor.type.user, token: token, }; diff --git a/src/backend/src/modules/web/WebServerService.js b/src/backend/src/modules/web/WebServerService.js index b19b972d4..8d397d66b 100644 --- a/src/backend/src/modules/web/WebServerService.js +++ b/src/backend/src/modules/web/WebServerService.js @@ -233,6 +233,7 @@ class WebServerService extends BaseService { try { let auth_res = await jwt_auth(socket); // successful auth + socket.actor = auth_res.actor; socket.user = auth_res.user; socket.token = auth_res.token; // join user room @@ -249,6 +250,7 @@ class WebServerService extends BaseService { } }); + const context = Context.get(); socketio.on('connection', (socket) => { /** * Starts the web server and associated services. @@ -268,8 +270,12 @@ class WebServerService extends BaseService { }); socket.on('puter_is_actually_open', async (msg) => { const svc_event = this.services.get('event'); - await svc_event.emit('web.socket.user-connected', { - user: socket.user + await context.sub({ + actor: socket.actor, + }).arun(async () => { + await svc_event.emit('web.socket.user-connected', { + user: socket.user + }); }); }); });