- update README.md with new docker instructions
- update docs/configuration.md
- update .github/workflows to have pinned action versions
- gofmt events package
- fix small bugs in CI scripts
- reduce config options for internal/perf/monitor and config. A ring buffer is used to keep 1hr of entries at max 5s granularity. For long term stats use prometheus monitoring on /metrics
Fixes#744
* .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>
Replace the legacy React UI with the new Svelte-based one. Introduce a Playground in the UI to quickly test out text, image, text to speech and speech to text models behind llama-swap.
Key Changes
New Svelte UI (ui-svelte/)
- Multi-tab Playground with Chat, Image Generation, Audio Transcription, and Speech interfaces
- Chat: message editing/regeneration, markdown rendering with LaTeX math support, image attachments, code syntax highlighting
- Image: size selector, download/fullscreen viewing
- Audio: transcription with peer support
- Speech: voice caching with manual refresh, download button
- Responsive mobile layout with collapsible navigation
- XSS fixes and accessibility improvements
Proxy Improvements
- Add gzip/brotli compression for UI static assets (proxy/ui_compress.go)
- Add GET /v1/audio/voices?model={model} endpoint for voice listing
- Add peer support for /v1/audio/transcriptions