diff --git a/package.json b/package.json index 451c40cd4..a3807a06d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "world-monitor", "private": true, - "version": "2.5.22", + "version": "2.5.23", "license": "AGPL-3.0-only", "type": "module", "scripts": { diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 2622d294f..991ad067a 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1881,9 +1881,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "js-sys" -version = "0.3.90" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -2014,11 +2014,10 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" dependencies = [ - "bitflags 2.11.0", "libc", ] @@ -2806,9 +2805,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -2818,9 +2817,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" dependencies = [ "atomic-waker", "fastrand", @@ -4677,9 +4676,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -4690,9 +4689,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.63" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", "futures-util", @@ -4704,9 +4703,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4714,9 +4713,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", @@ -4727,9 +4726,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -4783,9 +4782,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.90" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -5423,7 +5422,7 @@ dependencies = [ [[package]] name = "world-monitor" -version = "2.5.21" +version = "2.5.23" dependencies = [ "getrandom 0.2.17", "keyring", @@ -5597,18 +5596,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.39" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" +checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.39" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" +checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2", "quote", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 599928a12..0b742902b 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "world-monitor" -version = "2.5.22" +version = "2.5.23" description = "World Monitor desktop application" authors = ["World Monitor"] edition = "2021" diff --git a/src-tauri/sidecar/local-api-server.mjs b/src-tauri/sidecar/local-api-server.mjs index 2c4b112d9..7f0b3cb86 100644 --- a/src-tauri/sidecar/local-api-server.mjs +++ b/src-tauri/sidecar/local-api-server.mjs @@ -1214,9 +1214,11 @@ async function dispatch(requestUrl, req, routes, context) { } const body = ['GET', 'HEAD'].includes(req.method) ? undefined : await readBody(req); + const hdrs = toHeaders(req.headers, { stripOrigin: true }); + hdrs.set('Origin', `http://127.0.0.1:${context.port}`); const request = new Request(requestUrl.toString(), { method: req.method, - headers: toHeaders(req.headers, { stripOrigin: true }), + headers: hdrs, body, }); diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index dd4a78a6f..3c884c0c0 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://schema.tauri.app/config/2", "productName": "World Monitor", "mainBinaryName": "world-monitor", - "version": "2.5.22", + "version": "2.5.23", "identifier": "app.worldmonitor.desktop", "build": { "beforeDevCommand": "npm run build:sidecar-sebuf && npm run dev", diff --git a/src/config/variant.ts b/src/config/variant.ts index 243ec4703..e742e77e9 100644 --- a/src/config/variant.ts +++ b/src/config/variant.ts @@ -1,7 +1,15 @@ export const SITE_VARIANT: string = (() => { const env = import.meta.env.VITE_VARIANT || 'full'; - // Build-time variant (non-full) takes priority — each deployment is variant-specific. - // Only fall back to localStorage when env is 'full' (allows desktop app variant switching). + // Desktop app: always respect localStorage so variant switcher works + // (desktop builds may inherit VITE_VARIANT from .env.local). + if (typeof window !== 'undefined') { + const isTauri = '__TAURI_INTERNALS__' in window || '__TAURI__' in window; + if (isTauri) { + const stored = localStorage.getItem('worldmonitor-variant'); + if (stored === 'tech' || stored === 'full' || stored === 'finance' || stored === 'happy') return stored; + } + } + // Web deployments: build-time variant (non-full) takes priority — each deployment is variant-specific. if (env !== 'full') return env; if (typeof window !== 'undefined') { const stored = localStorage.getItem('worldmonitor-variant'); diff --git a/src/settings-main.ts b/src/settings-main.ts index 6a2eabff6..0e33136d7 100644 --- a/src/settings-main.ts +++ b/src/settings-main.ts @@ -189,7 +189,7 @@ function renderOverview(area: HTMLElement): void { const wmState = getSecretState('WORLDMONITOR_API_KEY'); const wmStatusText = wmState.present ? 'Active' : 'Not set'; const wmStatusClass = wmState.present ? 'ok' : 'warn'; - const alreadyRegistered = localStorage.getItem('wm-waitlist-registered') === '1'; + const alreadyRegistered = false; // Force-show form for email testing const catCards = SETTINGS_CATEGORIES.map(cat => { const { ready: catReady, total: catTotal } = getFeatureStatusCounts(cat);