{ "$schema": "https://schema.tauri.app/config/2", "productName": "Parking System", "version": "0.1.0", "identifier": "com.parking.desktop", "build": { "devUrl": "http://localhost:5173", "frontendDist": "../../web/dist", "beforeDevCommand": "pnpm --filter @parking/web dev", "beforeBuildCommand": "pnpm --filter @parking/web build" }, "app": { "windows": [ { "label": "main", "title": "Parking System", "width": 1280, "height": 800, "minWidth": 1024, "minHeight": 640, "resizable": true, "maximized": true, "fullscreen": false } ], "security": { "csp": "default-src 'self'; img-src 'self' data: blob:; style-src 'self' 'unsafe-inline'; connect-src 'self' http://127.0.0.1:3000 http://localhost:3000 ws://127.0.0.1:3000 ws://localhost:3000" } }, "bundle": { "active": true, "targets": "all", "createUpdaterArtifacts": true, "icon": [ "icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico" ] }, "plugins": { "updater": { "//": "Points at mca/public_releases, NOT this (private, source) repo — the updater runs on offline-first field appliances with no Gitea credentials, so the endpoint must be reachable unauthenticated. That repo is public and holds only compiled installers (no source), mirrored here by .gitea/workflows/release.yml. NOT the 'latest release' redirect: public_releases is shared across apps in the org, so 'latest' there could be someone else's release. This URL names our own most-recent tag directly (desktop-vX.Y.Z, bumped by the release workflow each publish) so a newer unrelated app release never shadows ours. The updater GETs this, gets the manifest (platforms.linux-x86_64.{signature,url}), and compares versions. The release is reachable to the appliance only when it's brought online (phone hotspot); offline-first means a failed check is a no-op.", "endpoints": [ "https://git.infra.msai.al/mca/public_releases/releases/download/desktop-latest/latest.json" ], "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDgxNzg5RUQ1QkM0Q0FDRjYKUldUMnJFeTgxWjU0Z1RlNmhneDVZQlVVTVZZdGhJTkUxTGdDeGYwQSttZmNKVVp5WEdVMWlBb1YK" } } }