make controller update config automatically upon init

This commit is contained in:
Percs 2025-02-06 11:00:56 -06:00
parent 6427d30ab4
commit 4821fedd89
3 changed files with 29 additions and 14 deletions

24
pnpm-lock.yaml generated
View file

@ -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

View file

@ -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");
}

View file

@ -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