Build 122. The operator page honoured Public address and the main app window did not, so the two disagreed about the one fact they both exist to display: translate.watersmedia.org was configured and working through nginx, while the window, the QR code, the poster and Copy address all still handed out http://10.1.7.39:3100. engine.js had no mention of publicUrl at all. It now reads it from the server config it was already fetching, and prefers it everywhere the congregation is pointed. The operator link deliberately does not follow. /operator returns 404 to anything carrying X-Forwarded-For, so over a proxy the domain is exactly where that page cannot be reached; it stays on the LAN address, which is the whole point of being able to run the desk from a phone. The QR warnings are suppressed when a public address is set. They talk about Wi-Fi being down and leases moving, which are facts about an address nobody is being given any more; the panel now names the public address and reminds the desk that this Mac still has to be reachable from the proxy. The share panel also re-renders when the server config arrives. It is fetched asynchronously and lost a race at startup, so the first paint had no publicUrl to read even once this was wired up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
161 lines
4.1 KiB
JSON
161 lines
4.1 KiB
JSON
{
|
|
"name": "church-translate-engine",
|
|
"productName": "Church Translate",
|
|
"version": "3.23.2",
|
|
"buildNumber": 122,
|
|
"private": true,
|
|
"description": "Live sermon translation — self-contained: captures audio, transcribes, translates, and serves the congregation page itself",
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"predist": "node tools/sync-build-version.js && node tools/check-packaged-files.js",
|
|
"start": "electron .",
|
|
"dist": "electron-builder --mac",
|
|
"dist:mac": "electron-builder --mac",
|
|
"dist:win": "electron-builder --win"
|
|
},
|
|
"devDependencies": {
|
|
"electron": "^33.2.0",
|
|
"electron-builder": "^25.1.8"
|
|
},
|
|
"dependencies": {
|
|
"@huggingface/transformers": "^3.8.1",
|
|
"espeak-ng": "^1.0.2",
|
|
"kokoro-js": "^1.2.1",
|
|
"qrcode": "^1.5.4",
|
|
"sherpa-onnx-node": "^1.13.6",
|
|
"tar-stream": "^3.2.1",
|
|
"unbzip2-stream": "^1.4.3",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"build": {
|
|
"appId": "org.waterschurch.translate.engine",
|
|
"productName": "Church Translate",
|
|
"directories": {
|
|
"output": "dist"
|
|
},
|
|
"files": [
|
|
"main.js",
|
|
"preload.js",
|
|
"index.html",
|
|
"engine.css",
|
|
"engine.js",
|
|
"model-worker.js",
|
|
"mt-service.js",
|
|
"capture-worklet.js",
|
|
"selftest.html",
|
|
"selftest.js",
|
|
"selftest.wav",
|
|
"vendor/transformers.min.js",
|
|
"vendor/ort-wasm-simd-threaded.jsep.wasm",
|
|
"vendor/ort-wasm-simd-threaded.jsep.mjs",
|
|
"server/**/*",
|
|
"tts-service.js",
|
|
"kokoro-sidecar.js",
|
|
"voices.js",
|
|
"pt-variants.js",
|
|
"speech-text.js",
|
|
"tools/setup-local-voices.sh",
|
|
"voice-catalog.js",
|
|
"out-routing.js",
|
|
"mt-guard.js",
|
|
"liturgy.js",
|
|
"preach.js",
|
|
"spa-variants.js",
|
|
"bible-lexicon.js",
|
|
"app-log.js",
|
|
"sidecar-langs.js",
|
|
"short-questions.js",
|
|
"tools/verify-windows.js"
|
|
],
|
|
"mac": {
|
|
"target": [
|
|
{
|
|
"target": "dir",
|
|
"arch": [
|
|
"arm64"
|
|
]
|
|
},
|
|
{
|
|
"target": "dmg",
|
|
"arch": [
|
|
"arm64"
|
|
]
|
|
}
|
|
],
|
|
"category": "public.app-category.utilities",
|
|
"extendInfo": {
|
|
"NSMicrophoneUsageDescription": "Church Translate listens to the sermon audio you select so it can caption and translate it."
|
|
},
|
|
"identity": null,
|
|
"extraResources": [
|
|
{
|
|
"from": "vendor/node",
|
|
"to": "node"
|
|
},
|
|
{
|
|
"from": "vendor/cloudflared",
|
|
"to": "cloudflared"
|
|
}
|
|
],
|
|
"artifactName": "${productName}-${version}-${arch}.${ext}",
|
|
"files": [
|
|
"!node_modules/**/.cache${/*}",
|
|
"!node_modules/onnxruntime-node/bin/napi-v3/win32${/*}",
|
|
"!node_modules/onnxruntime-node/bin/napi-v3/linux${/*}",
|
|
"!node_modules/sherpa-onnx-win-x64${/*}"
|
|
]
|
|
},
|
|
"asar": false,
|
|
"buildVersion": "122",
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"artifactName": "${productName} Setup ${version}.${ext}",
|
|
"extraResources": [
|
|
{
|
|
"from": "vendor-win/node.exe",
|
|
"to": "node.exe"
|
|
},
|
|
{
|
|
"from": "vendor-win/cloudflared.exe",
|
|
"to": "cloudflared.exe"
|
|
},
|
|
{
|
|
"from": "vendor-win/ffmpeg.exe",
|
|
"to": "ffmpeg.exe"
|
|
},
|
|
{
|
|
"from": "vendor-win/FFMPEG-LICENSE.txt",
|
|
"to": "FFMPEG-LICENSE.txt"
|
|
}
|
|
],
|
|
"files": [
|
|
"!node_modules/**/.cache${/*}",
|
|
"!node_modules/onnxruntime-node/bin/napi-v3/darwin${/*}",
|
|
"!node_modules/onnxruntime-node/bin/napi-v3/linux${/*}",
|
|
"!node_modules/sherpa-onnx-darwin-arm64${/*}"
|
|
]
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"perMachine": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"createDesktopShortcut": true,
|
|
"createStartMenuShortcut": true,
|
|
"deleteAppDataOnUninstall": false
|
|
}
|
|
}
|
|
}
|