diff --git a/apps/effectcraft-web/web/index.html b/apps/effectcraft-web/web/index.html
index 70ab93ff..85049007 100644
--- a/apps/effectcraft-web/web/index.html
+++ b/apps/effectcraft-web/web/index.html
@@ -71,7 +71,13 @@
...ec.info(),
crossOriginIsolated: self.crossOriginIsolated,
webgpu: !!navigator.gpu,
- serviceWorker: !!(navigator.serviceWorker && navigator.serviceWorker.controller),
+ serviceWorker: (() => {
+ try {
+ return !!(navigator.serviceWorker && navigator.serviceWorker.controller);
+ } catch {
+ return false;
+ }
+ })(),
load: window.effectcraftLoad,
}),
// Browser storage (OPFS / IndexedDB): save without downloading, list, remove, wait for writes.
@@ -83,8 +89,14 @@
workerFrameCheck: (params) => ec.workerFrameCheck(params ?? {}).then(JSON.parse),
};
// Offline start and install (PWA): the service worker caches the app's files.
- if ("serviceWorker" in navigator && !new URLSearchParams(location.search).has("nosw")) {
- navigator.serviceWorker.register("sw.js").catch((e) => console.warn("service worker:", e));
+ if (!new URLSearchParams(location.search).has("nosw")) {
+ try {
+ if ("serviceWorker" in navigator && navigator.serviceWorker) {
+ navigator.serviceWorker.register("sw.js").catch((e) => console.warn("service worker:", e));
+ }
+ } catch (e) {
+ console.warn("service worker:", e);
+ }
}
try {
// Compile once: the page and its render workers instantiate the same module.
diff --git a/contributors/people.toml b/contributors/people.toml
index 2fa1927c..33c50ac9 100644
--- a/contributors/people.toml
+++ b/contributors/people.toml
@@ -87,3 +87,7 @@ sync_github_name = false
real_name = "Marco Arnulfo"
display_name = "Marco Arnulfo"
sync_github_name = false
+
+[people.krinry]
+display_name = "krinry"
+sync_github_name = true