Browse Source

bug-fixes

imwald
Silberengel 2 weeks ago
parent
commit
5d482500bc
  1. 5
      electron/main.cjs
  2. 4
      package-lock.json
  3. 4
      package.json
  4. 32
      vite.config.ts

5
electron/main.cjs

@ -340,7 +340,10 @@ function createWindow() { @@ -340,7 +340,10 @@ function createWindow() {
preload: path.join(__dirname, 'preload.cjs'),
contextIsolation: true,
nodeIntegration: false,
sandbox: true
sandbox: true,
// Packaged shell is loopback `http://127.0.0.1` → public HTTPS APIs; Chromium CORS blocks
// renderer `fetch` unless disabled for this window (IPC + net.fetch still used as defense).
webSecurity: !app.isPackaged
}
})

4
package-lock.json generated

@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
{
"name": "imwald",
"version": "23.0.10",
"version": "23.0.11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "imwald",
"version": "23.0.10",
"version": "23.0.11",
"license": "MIT",
"dependencies": {
"@asciidoctor/core": "^3.0.4",

4
package.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "imwald",
"version": "23.0.10",
"version": "23.0.11",
"description": "Imwald — a user-friendly Nostr client focused on relay feed browsing, publications, and relay discovery",
"private": true,
"type": "module",
@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
"i18n:gaps": "npx tsx scripts/export-en-parity-gaps.ts",
"i18n:translate-de": "PYTHONUNBUFFERED=1 .venv-i18n/bin/python scripts/auto_translate_i18n.py de",
"electron:dev": "concurrently -k -n vite,electron -c blue,green \"vite --host\" \"wait-on http://127.0.0.1:5173 && cross-env NODE_ENV=development electron .\"",
"build:electron": "cross-env VITE_PROXY_SERVER=https://jumble.imwald.eu VITE_READ_ALOUD_TTS_URL=https://jumble.imwald.eu/api/piper-tts VITE_LANGUAGE_TOOL_URL=https://jumble.imwald.eu/api/languagetool VITE_TRANSLATE_URL=https://jumble.imwald.eu/api/translate tsc -b && vite build",
"build:electron": "tsc -b && vite build --mode electron",
"electron:pack": "npm run build:electron && electron-builder",
"og:image": "node scripts/generate-og-png.mjs"
},

32
vite.config.ts

@ -88,11 +88,41 @@ export default defineConfig(({ mode }) => { @@ -88,11 +88,41 @@ export default defineConfig(({ mode }) => {
const devIndexRelayTarget =
env.VITE_DEV_INDEX_RELAY_TARGET?.trim() || 'http://127.0.0.1:4000'
/**
* Desktop shell (`vite build --mode electron`): always bake public Imwald API origins into the bundle.
* Relying on `cross-env` in npm scripts alone is fragile (skipped builds, CI, wrong script). `define`
* wins over empty/missing `.env.*` for these keys.
*/
const electronImwaldPublicDefaults = {
VITE_PROXY_SERVER: 'https://jumble.imwald.eu',
VITE_READ_ALOUD_TTS_URL: 'https://jumble.imwald.eu/api/piper-tts',
VITE_LANGUAGE_TOOL_URL: 'https://jumble.imwald.eu/api/languagetool',
VITE_TRANSLATE_URL: 'https://jumble.imwald.eu/api/translate'
} as const
const electronImwaldDefines: Record<string, string> =
mode === 'electron'
? Object.fromEntries(
(
[
'VITE_PROXY_SERVER',
'VITE_READ_ALOUD_TTS_URL',
'VITE_LANGUAGE_TOOL_URL',
'VITE_TRANSLATE_URL'
] as const
).map((key) => {
const fromEnv = env[key]?.trim()
const fallback = electronImwaldPublicDefaults[key]
return [`import.meta.env.${key}`, JSON.stringify(fromEnv || fallback)]
})
)
: {}
return {
base: '/',
define: {
'import.meta.env.GIT_COMMIT': getGitHash(),
'import.meta.env.APP_VERSION': getAppVersion()
'import.meta.env.APP_VERSION': getAppVersion(),
...electronImwaldDefines
},
resolve: {
alias: {

Loading…
Cancel
Save