5b251ccc3b
* Add Windows portable launcher scaffold * readme * readme update * fix * star thistory theme changed * feat: responsive layout, parallel setup flow, and window constraints - Enforce 1440×900 minimum window size in tauri.conf.json - Rewrite setup.js: parallel workspace+gpu phase, minDelay() for guaranteed state visibility, IIFE chains, error cleanup on failure - Add setup.css step indicators (pending/active/done/error) with gold spinner, green checkmark, red X - Fix stems-panel overflow into transport footer (align-self + height) - Make transport, appbar, and wave editor fully responsive with clamp() and fr-based grid columns - Remove dead .stem-list span.hidden rule (covered by base.css) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: ignore data/ directory (runtime-generated) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: untrack .docs directory from git * Add Windows portable release workflow * fix(tests): rewrite yoda conditions in test_config.py * ci: set UV_LINK_MODE=copy to suppress hardlink warning * fix: security hardening, reliability fixes, and observability improvements - Enforce MAX_PENDING_JOBS cap on job submissions (503 when queue full) - Add done_callback to pipeline task to log any unhandled exceptions - Add job_id regex validation to DELETE endpoint - Sanitize pipeline error messages sent to clients (full detail stays server-side) - Move sweep_old_jobs to hourly background task via lifespan (not per-submission) - Add demucs stall watchdog: terminate if no stderr output for 30min - Add SSE connection max lifetime (4h) to prevent zombie connections - Replace shutil.rmtree(ignore_errors=True) with logged _rmtree helper - Fix log levels: chroma/key diagnostics downgraded from WARNING to DEBUG - Add bounds clamping for MAX_DURATION_SEC, JOB_TTL_SECONDS, MAX_PENDING_JOBS - Remove filesystem paths from /health endpoint response - Replace innerHTML with safe DOM construction for BPM and confidence in JS * fix(events): use get_running_loop() instead of deprecated get_event_loop() * fix(tests): update assertions to match sanitized error and health response * star history * feat(desktop): Windows portable app — dual CPU/NVIDIA builds, external links, transport colors - Move frontend to desktop/ui/ and fix frontendDist to point there (fixes Tauri build) - Dual portable zip variants: StemDeck-Windows-x64 (CPU) and StemDeck-Windows-x64.NVIDIA - Strip torch .lib static libraries in StripVenv (-623 MB dnnl.lib alone) - Force-reinstall CPU torch after main pip install to prevent CUDA wheel override - Sentinel file data/cpu-only short-circuits GPU detection in ensure_torch_device() - Add open_url Tauri command + JS click interceptor for Help/Tip external links - Rename GPU setup step to "Configuring compute device" (accurate for both variants) - Play button turns green when active, stop button turns red when pressed - Update CI pipeline for dual Windows variants with manual branch trigger support - Update README with Windows desktop app section and download variant guidance Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix mixer volume updates getting stuck Clamp per-track mixer output to the browser-safe 0..1 range and isolate volume write failures so one hot fader cannot leave other channels stale. Keep the existing master-volume fallback when no master fader is present. * fix(ui): DAW view — tracks fill window height, icons aligned per row - stem-waveform-layer: top: 0 (waves-column already starts below ruler, previous top: 72px pushed waveforms 72px too far down) - stems-panel: align-self stretch + margin-bottom 6px to match waves-column height exactly, keeping icon rows in sync with waveform rows - ResizeObserver on waveScroll recalculates --wave-playhead-h and multitrack pxPerSec on every container resize - Commit desktop/package-lock.json for reproducible npm ci in CI pipeline * image:local added for windows builds --------- Co-authored-by: Thales <> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
248 lines
7.3 KiB
JSON
248 lines
7.3 KiB
JSON
{
|
|
"name": "stemdeck-desktop",
|
|
"version": "0.1.0-alpha.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "stemdeck-desktop",
|
|
"version": "0.1.0-alpha.0",
|
|
"devDependencies": {
|
|
"@tauri-apps/cli": "^2.0.0"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.1.tgz",
|
|
"integrity": "sha512-rpEbaJ/HzNb6fwsquwoAbq29/Vt4gADhS423A8fdkwL4edJ0wZmoB8ar7O6JPDL834MUKOCm/rrJ7c9oAaEaYQ==",
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"bin": {
|
|
"tauri": "tauri.js"
|
|
},
|
|
"engines": {
|
|
"node": ">= 10"
|
|
},
|
|
"funding": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/tauri"
|
|
},
|
|
"optionalDependencies": {
|
|
"@tauri-apps/cli-darwin-arm64": "2.11.1",
|
|
"@tauri-apps/cli-darwin-x64": "2.11.1",
|
|
"@tauri-apps/cli-linux-arm-gnueabihf": "2.11.1",
|
|
"@tauri-apps/cli-linux-arm64-gnu": "2.11.1",
|
|
"@tauri-apps/cli-linux-arm64-musl": "2.11.1",
|
|
"@tauri-apps/cli-linux-riscv64-gnu": "2.11.1",
|
|
"@tauri-apps/cli-linux-x64-gnu": "2.11.1",
|
|
"@tauri-apps/cli-linux-x64-musl": "2.11.1",
|
|
"@tauri-apps/cli-win32-arm64-msvc": "2.11.1",
|
|
"@tauri-apps/cli-win32-ia32-msvc": "2.11.1",
|
|
"@tauri-apps/cli-win32-x64-msvc": "2.11.1"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-darwin-arm64": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.1.tgz",
|
|
"integrity": "sha512-6eEKMBXsQPCuM1EmvrjT2+aBuxWQuFdKdW8pzNuNQtpq45nEEpBlD5gr8pUeAyOU1DQKlkFaEc/MPBxb/Pfjtg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-darwin-x64": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.1.tgz",
|
|
"integrity": "sha512-LQUO7exfRWjWALNhetph5guWpMeHphRpokOLk0OIbTTExaNwJNFu3I4vb+CCM/4G/QGoZe/5XikZOJdNEFP1ig==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-arm-gnueabihf": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.1.tgz",
|
|
"integrity": "sha512-5i/awiBCRRhOUG8yjn0fMHXIWD5Ez8eEk5LtvOxyQrKuJkRaZDvnbIjZbE183blAwkoA4xN3aO/prJiqscl02Q==",
|
|
"cpu": [
|
|
"arm"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-arm64-gnu": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.1.tgz",
|
|
"integrity": "sha512-9LrwDw3S9Fygtw/Q6WDhOP+3svJRGAsejeE+GKrc0eO1ThMVhwi2LL6hw4dlKw93IfS7VY1G19sWGxJ/NcU4nA==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"libc": [
|
|
"glibc"
|
|
],
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-arm64-musl": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.1.tgz",
|
|
"integrity": "sha512-mNA5dbbqPqDUdTIwdUYYuhO2GvIe9UnB2r0VU2njxBOS3Opbx4gKNC5yP0Iu4rYmEmqdlwry9VzGZQ3wq9dyFg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"libc": [
|
|
"musl"
|
|
],
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-riscv64-gnu": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.1.tgz",
|
|
"integrity": "sha512-fZj3Gwq+6fUs305T5WQiD5iSGJw+j/4w/HGmk4sHDAcy+rp9zU5eaxB7nOyz5/I/nkNAuKPqfp6uIbiUBXkBCw==",
|
|
"cpu": [
|
|
"riscv64"
|
|
],
|
|
"dev": true,
|
|
"libc": [
|
|
"glibc"
|
|
],
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-x64-gnu": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.1.tgz",
|
|
"integrity": "sha512-XFxGxOvHM7jjeD6ozCKdGfhzJ7lERYDGZl1/Kb4fsvchaJsfLJ981TlyTG8Qy/gFq+f5GitH3bfrX9JAkjPEyw==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"libc": [
|
|
"glibc"
|
|
],
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-linux-x64-musl": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.1.tgz",
|
|
"integrity": "sha512-d5C2/Zm+68v7R9wTuTCjRQEVrWjcdMkJBZ1+rXse+QdMMlTB9+u9PDNDLw9PQflWxYLaYZ7tjxxL9Nb9II6PbA==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"libc": [
|
|
"musl"
|
|
],
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-win32-arm64-msvc": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.1.tgz",
|
|
"integrity": "sha512-YdeVWFAR1pTXzUU6NLstPq4G6OLxuDrXCXEBdmBH+5EZIDXUx0D2kJlz3+YjpazkKvAzYpgziTsyRagls0OfRQ==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-win32-ia32-msvc": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.1.tgz",
|
|
"integrity": "sha512-VBGkuH0eB9K9LLSMv361Gzr5Ou72sCS4+ztpmkWEQ+wd/amhcYOsf3X6qn1RJZDzIhiOYHJEOysZUC3baD01rA==",
|
|
"cpu": [
|
|
"ia32"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
},
|
|
"node_modules/@tauri-apps/cli-win32-x64-msvc": {
|
|
"version": "2.11.1",
|
|
"resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.1.tgz",
|
|
"integrity": "sha512-b3ORhIAKgp9ZYY+zBt7b7r0kLU2kjvyGF0+MS2SBym3emsweGPybEqocJcmtMuxyBhkOKHP4CiuEJEDuAlTx6A==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "Apache-2.0 OR MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">= 10"
|
|
}
|
|
}
|
|
}
|
|
}
|