Files
VoiceStudio/frontend/src-tauri/tauri.conf.json
T
5a28c04c44 chore(version): make frontend/package.json the single source of truth (#503)
Five hand-maintained version literals (pyproject, Cargo.toml, tauri.conf.json,
package.json, version.py) drifting is what shipped a 0.3.6 build calling itself
0.3.5 (package.json lagged; the frozen backend's literal lagged). Collapse to
one canonical source.

- frontend/package.json is canonical: vite already injects __APP_VERSION__ from
  it (first-run setup footer + bug reports).
- tauri.conf.json now reads its bundle version from it ("version":
  "../package.json", a supported Tauri v2 feature) — the MSI/dmg/updater version
  can no longer drift from the UI. Removes the most error-prone literal.
- Cargo.toml + pyproject.toml + version.py's _FALLBACK_VERSION remain as
  toolchain-required CI-guarded mirrors, bumped in lockstep from the canonical.
- release.yml: the preview-stamp and version-bump jobs now read/write
  package.json (the canonical) and no longer touch the derived tauri.conf.json.
- tests/test_app_version.py: new test_tauri_version_derives_from_package_json
  guards the path; the lockstep test now checks the mirrors against the
  canonical package.json.
- CLAUDE.md versioning rule updated to document the single-source model.

6 version tests pass.

Co-authored-by: mergetest <test@local>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 22:50:39 +05:30

100 lines
2.8 KiB
JSON

{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "OmniVoice Studio",
"version": "../package.json",
"identifier": "com.debpalash.omnivoice-studio",
"build": {
"frontendDist": "../dist",
"devUrl": "http://localhost:3901",
"beforeDevCommand": "bun run dev",
"beforeBuildCommand": "bun run build",
"beforeBundleCommand": "bash ../scripts/inject-apprun.sh"
},
"app": {
"macOSPrivateApi": true,
"withGlobalTauri": true,
"windows": [
{
"title": "OmniVoice Studio",
"width": 1920,
"height": 1080,
"minWidth": 900,
"minHeight": 600,
"resizable": true,
"fullscreen": false,
"titleBarStyle": "Overlay",
"hiddenTitle": true,
"maximized": true
},
{
"label": "widget",
"title": "Capture",
"width": 300,
"height": 64,
"resizable": false,
"fullscreen": false,
"transparent": true,
"decorations": false,
"alwaysOnTop": true,
"visible": false,
"skipTaskbar": true,
"center": true,
"create": false
}
],
"security": {
"csp": "default-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self' ipc://localhost http://localhost:* ws://localhost:* http://127.0.0.1:* ws://127.0.0.1:* blob: data:; media-src 'self' blob: data: http://localhost:* http://127.0.0.1:* asset: https://asset.localhost; img-src 'self' blob: data: asset: https://asset.localhost http://localhost:* http://127.0.0.1:* https://fonts.gstatic.com; font-src 'self' data: https://fonts.googleapis.com https://fonts.gstatic.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;",
"assetProtocol": {
"enable": true,
"scope": [
"**"
]
}
}
},
"bundle": {
"active": true,
"targets": [
"dmg",
"app",
"msi",
"deb",
"appimage"
],
"createUpdaterArtifacts": true,
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"resources": [
"../../pyproject.toml",
"../../uv.lock",
"../../README.md",
"../../omnivoice",
"../../backend"
],
"externalBin": [
"binaries/uv",
"binaries/ffmpeg",
"binaries/ffprobe"
],
"macOS": {
"minimumSystemVersion": "12.0",
"signingIdentity": "-"
}
},
"plugins": {
"updater": {
"active": true,
"endpoints": [
"https://github.com/debpalash/OmniVoice-Studio/releases/latest/download/latest.json"
],
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDhFMDQ1QkZCQ0I4RDlCQkYKUldTL200M0wrMXNFamdPSGF3VkUzVjBRY1FFOE0yTkxSMVZKNUowL2wyZEw2OG1TWXNLMDlSeTQK",
"dialog": false
}
}
}