发布

  • Windows portable app: dual CPU/NVIDIA builds, DAW UI improvements (#5)

    frostbyte_neo 发布于 2026-05-07 16:06:53 +00:00

    • 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

    下载附件