diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4eb967e..6cd13f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1059,8 +1059,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.91: - resolution: {integrity: sha512-sNSHHyq048PFmZY4S90ax61q+gLCs0X0YmcOII9wG9S2XwbVr+h4VW2wWhnbp/Eys3cCwTxVF292W3qPaxIapQ==} + electron-to-chromium@1.5.93: + resolution: {integrity: sha512-M+29jTcfNNoR9NV7la4SwUqzWAxEwnc7ThA5e1m6LRSotmpfpCpLcIfgtSCVL+MllNLgAyM/5ru86iMRemPzDQ==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1273,8 +1273,8 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-my-way@9.1.0: - resolution: {integrity: sha512-Y5jIsuYR4BwWDYYQ2A/RWWE6gD8a0FMgtU+HOq1WKku+Cwdz8M1v8wcAmRXXM1/iqtoqg06v+LjAxMYbCjViMw==} + find-my-way@9.2.0: + resolution: {integrity: sha512-d3uCir8Hmg7W1Ywp8nKf2lJJYU9Nwinvo+1D39Dn09nz65UKXIxUh7j7K8zeWhxqe1WrkS7FJyON/Q/3lPoc6w==} engines: {node: '>=14'} find-up@5.0.0: @@ -2262,8 +2262,8 @@ packages: uglify-js: optional: true - terser@5.37.0: - resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} + terser@5.38.1: + resolution: {integrity: sha512-GWANVlPM/ZfYzuPHjq0nxT+EbOEDDN3Jwhwdg1D8TU8oSkktp8w64Uq4auuGLxFSoNTRDncTq2hQHX1Ld9KHkA==} engines: {node: '>=10'} hasBin: true @@ -3408,7 +3408,7 @@ snapshots: browserslist@4.24.4: dependencies: caniuse-lite: 1.0.30001697 - electron-to-chromium: 1.5.91 + electron-to-chromium: 1.5.93 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -3642,7 +3642,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.91: {} + electron-to-chromium@1.5.93: {} emoji-regex@8.0.0: {} @@ -3879,7 +3879,7 @@ snapshots: abstract-logging: 2.0.1 avvio: 9.1.0 fast-json-stringify: 6.0.1 - find-my-way: 9.1.0 + find-my-way: 9.2.0 light-my-request: 6.5.1 pino: 9.6.0 process-warning: 4.0.1 @@ -3930,7 +3930,7 @@ snapshots: transitivePeerDependencies: - supports-color - find-my-way@9.1.0: + find-my-way@9.2.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 @@ -4871,10 +4871,10 @@ snapshots: jest-worker: 27.5.1 schema-utils: 4.3.0 serialize-javascript: 6.0.2 - terser: 5.37.0 + terser: 5.38.1 webpack: 5.97.1 - terser@5.37.0: + terser@5.38.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 diff --git a/src/controller/index.ts b/src/controller/index.ts index 857d108..65964cc 100644 --- a/src/controller/index.ts +++ b/src/controller/index.ts @@ -63,6 +63,10 @@ export class ScramjetController { loadCodecs(); await this.openIDB(); + navigator.serviceWorker?.controller.postMessage({ + scramjet$type: "loadConfig", + config: $scramjet.config, + }); dbg.log("config loaded"); } diff --git a/src/worker/index.ts b/src/worker/index.ts index 26fb06f..3a451f0 100644 --- a/src/worker/index.ts +++ b/src/worker/index.ts @@ -30,7 +30,6 @@ export class ScramjetServiceWorker extends EventTarget { cookies.onsuccess = () => { if (cookies.result) { this.cookieStore.load(cookies.result); - dbg.log("Loaded cookies from IDB!"); } }; }; @@ -51,6 +50,10 @@ export class ScramjetServiceWorker extends EventTarget { const store = tx.objectStore("cookies"); store.put(JSON.parse(this.cookieStore.dump()), "cookies"); } + + if (data.scramjet$type === "loadConfig") { + this.config = data.config; + } }); } @@ -109,12 +112,20 @@ type CookieMessage = { url: string; }; +type ConfigMessage = { + scramjet$type: "loadConfig"; + config: ScramjetConfig; +}; + type MessageCommon = { scramjet$type: string; scramjet$token: number; }; -type MessageTypeC2W = RegisterServiceWorkerMessage | CookieMessage; +type MessageTypeC2W = + | RegisterServiceWorkerMessage + | CookieMessage + | ConfigMessage; type MessageTypeW2C = CookieMessage; // c2w: client to (service) worker