fix: provide actor context to ws event

This commit is contained in:
KernelDeimos
2024-12-10 14:06:14 -05:00
parent 96008233ba
commit 1b578019f9
2 changed files with 9 additions and 2 deletions
+1
View File
@@ -1115,6 +1115,7 @@ async function jwt_auth(req){
}
return {
actor,
user: actor.type.user,
token: token,
};
@@ -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
});
});
});
});