2026-04-06 10:20:25 -07:00
|
|
|
[package]
|
|
|
|
|
name = "local-transcription"
|
2026-04-07 15:58:01 +00:00
|
|
|
version = "2.0.1"
|
2026-04-06 10:20:25 -07:00
|
|
|
description = "Real-time speech-to-text transcription for streamers"
|
|
|
|
|
authors = ["Local Transcription Contributors"]
|
|
|
|
|
edition = "2021"
|
|
|
|
|
|
|
|
|
|
[lib]
|
|
|
|
|
name = "local_transcription_lib"
|
|
|
|
|
crate-type = ["lib", "cdylib", "staticlib"]
|
|
|
|
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
tauri = { version = "2", features = [] }
|
|
|
|
|
tauri-plugin-shell = "2"
|
|
|
|
|
tauri-plugin-dialog = "2"
|
|
|
|
|
tauri-plugin-process = "2"
|
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
|
serde_json = "1"
|
2026-04-06 17:02:56 -07:00
|
|
|
reqwest = { version = "0.12", features = ["json", "stream"] }
|
|
|
|
|
futures-util = "0.3"
|
|
|
|
|
zip = { version = "2", default-features = false, features = ["deflate"] }
|
|
|
|
|
bytes = "1"
|
|
|
|
|
tokio = { version = "1", features = ["full"] }
|
2026-04-06 17:40:16 -07:00
|
|
|
chrono = "0.4"
|
Add test suite (63 tests) and CI workflow, fix Settings API bugs
Test suite covering all three layers:
Python backend (25 tests):
- AppController: state machine, start/stop, callbacks, settings reload
- API server: REST endpoints, config CRUD, status, devices
- Config: dot-notation get/set, persistence, nested paths
- Main headless: ready event port format validation
Svelte frontend (14 tests via Vitest):
- Backend store: exported properties/methods, port derivation, URLs
- Config store: method names (fetchConfig not loadConfig), defaults
- Transcriptions store: add/clear/plaintext
- File extension regression: ensures $state runes only in .svelte.ts
Rust sidecar (24 tests via cargo test):
- Platform/arch detection, asset name construction
- Ready event deserialization (with extra fields tolerance)
- Path construction, version read/write, old version cleanup
- Zip extraction, SidecarManager lifecycle
CI workflow (.gitea/workflows/test.yml):
- Runs on push to main and PRs
- Three parallel jobs: Python, Frontend, Rust
Also fixes three bugs found during test planning:
- Settings: /api/check-updates -> GET /api/check-update
- Settings: /api/remote/login -> /api/login
- Settings: /api/remote/register -> /api/register
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 07:48:34 -07:00
|
|
|
|
|
|
|
|
[dev-dependencies]
|
|
|
|
|
tempfile = "3"
|