Add path filters to CI workflows and create UI test workflow (#501)

* .github/workflows: add UI tests and path-filter Go CI

Add ui-tests.yml workflow to run svelte type checking and vitest
on push/PR to main when ui-svelte/ files change.

- Add path filters to go-ci.yml and go-ci-windows.yml to skip
  Go tests when only non-backend files change
- Filter on **/*.go, go.mod, go.sum, and Makefile

https://claude.ai/code/session_01E6acq54D8JjuE7pczxPGT7

* ui-svelte: remove unused declarations in SpeechInterface

Remove unused `generatedText` state and `clearAudio` function
that caused svelte-check errors.

https://claude.ai/code/session_01E6acq54D8JjuE7pczxPGT7

* .github/workflows: update Node.js to v24

Node 23 is end-of-life; bump to 24 in ui-tests.yml and release.yml.

https://claude.ai/code/session_01E6acq54D8JjuE7pczxPGT7

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Benson Wong
2026-02-01 15:11:49 -08:00
committed by GitHub
parent 20738f3623
commit 7b20fc011b
5 changed files with 75 additions and 15 deletions
@@ -12,7 +12,6 @@
let inputText = $state("");
let isGenerating = $state(false);
let generatedAudioUrl = $state<string | null>(null);
let generatedText = $state<string | null>(null);
let generatedVoice = $state<string | null>(null);
let generatedTimestamp = $state<Date | null>(null);
let error = $state<string | null>(null);
@@ -148,7 +147,6 @@
// Create object URL for the audio blob and store metadata
generatedAudioUrl = URL.createObjectURL(audioBlob);
generatedText = trimmedText;
generatedVoice = $selectedVoiceStore;
generatedTimestamp = new Date();
} catch (err) {
@@ -167,18 +165,6 @@
abortController?.abort();
}
function clearAudio() {
if (generatedAudioUrl) {
URL.revokeObjectURL(generatedAudioUrl);
}
generatedAudioUrl = null;
generatedText = null;
generatedVoice = null;
generatedTimestamp = null;
error = null;
inputText = "";
}
function clearInput() {
inputText = "";
}