diff --git a/.gitea/workflows/build-sidecar.yml b/.gitea/workflows/build-sidecar.yml index 954c327..66babee 100644 --- a/.gitea/workflows/build-sidecar.yml +++ b/.gitea/workflows/build-sidecar.yml @@ -365,11 +365,14 @@ jobs: run: brew install portaudio - name: Build sidecar (CPU) + env: + UV_NO_SOURCES: "1" run: | - # --no-sources bypasses pyproject.toml's [tool.uv.sources] which forces - # torch from the CUDA index (no macOS ARM wheels there) - # Default PyPI torch includes MPS (Apple Silicon GPU) support - uv sync --no-sources + # UV_NO_SOURCES bypasses pyproject.toml's [tool.uv.sources] which forces + # torch from the CUDA index (no macOS ARM wheels there). + # Applies to both uv sync AND uv run (which re-resolves). + # Default PyPI torch includes MPS (Apple Silicon GPU) support. + uv sync uv run pyinstaller local-transcription-headless.spec - name: Package sidecar (CPU) diff --git a/src/App.svelte b/src/App.svelte index b7d0aa1..eef989b 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -12,6 +12,8 @@ let obsDisplayUrl = $derived(backendStore.obsUrl); let syncDisplayUrl = $derived(backendStore.syncUrl); + let isConnected = $derived(backendStore.connectionState === "connected"); + let connectionState = $derived(backendStore.connectionState); function openSettings() { showSettings = true; @@ -31,33 +33,120 @@ }); -
-
- +{#if !isConnected} +
+
+
+ {#if connectionState === "error"} + + + + + + {:else} +
+ {/if} +
+

Local Transcription

+ {#if connectionState === "error"} +

Cannot connect to backend

+

Make sure the Python backend is running:
+ uv run python -m backend.main_headless

+ {:else} +

Connecting to backend...

+ {/if} +
+
+{:else} +
+
+ - - - - -
v{backendStore.version}
-
- -{#if showSettings} - + {#if showSettings} + + {/if} {/if}