diff --git a/src/backend/src/services/worker/src/s2w-router.js b/src/backend/src/services/worker/src/s2w-router.js index 6979e2b50c..ac954d6385 100644 --- a/src/backend/src/services/worker/src/s2w-router.js +++ b/src/backend/src/services/worker/src/s2w-router.js @@ -64,11 +64,14 @@ function inits2w() { * @returns */ async route(event) { - if (!globalThis.puter) { - const success = init_puter_portable(globalThis.puter_auth, globalThis.puter_endpoint || "https://api.puter.com"); + if (!globalThis.me) { + globalThis.me = { puter: init_puter_portable(globalThis.puter_auth, globalThis.puter_endpoint || "https://api.puter.com", "userPuter") } + globalThis.my = me; + globalThis.myself = me; } if (event.request.headers.has("puter-auth")) { - event.puter = init_puter_portable(event.request.headers.get("puter-auth"), globalThis.puter_endpoint || "https://api.puter.com", "userPuter"); + event.requestor = { puter: init_puter_portable(event.request.headers.get("puter-auth"), globalThis.puter_endpoint || "https://api.puter.com", "userPuter") }; + event.user = event.requestor; } const mappings = this.map.get(event.request.method); diff --git a/src/backend/src/services/worker/template/puter-portable.js b/src/backend/src/services/worker/template/puter-portable.js index 049daadd9d..53a958084d 100644 --- a/src/backend/src/services/worker/template/puter-portable.js +++ b/src/backend/src/services/worker/template/puter-portable.js @@ -27,6 +27,9 @@ globalThis.init_puter_portable = (auth, apiOrigin, type) => { const goodContext = {} Object.getOwnPropertyNames(globalThis).forEach(name => { try { goodContext[name] = globalThis[name]; } catch {} }) goodContext.globalThis = goodContext; + goodContext.WorkerGlobalScope = WorkerGlobalScope; + goodContext.ServiceWorkerGlobalScope = ServiceWorkerGlobalScope; + goodContext.location = new URL("https://puter.work"); goodContext.addEventListener = ()=>{}; // @ts-ignore with (goodContext) { @@ -37,9 +40,10 @@ globalThis.init_puter_portable = (auth, apiOrigin, type) => { return goodContext.puter; } else { #include "../../../../../puter-js/dist/puter.js" + + puter.setAPIOrigin(apiOrigin); + puter.setAuthToken(auth); } - puter.setAPIOrigin(apiOrigin); - puter.setAuthToken(auth); } #include "../dist/webpackPreamplePart.js"