19 Commits
Author SHA1 Message Date
xavierk 61e8206c67 docs(cuda): record owner decisions and phase 0 result (#58)
CI / security (push) Successful in 1m11s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
2026-11-07 03:24:37 +00:00
xavierk 594686d0f7 docs(cuda): integration plan for an optional CUDA backend on Void (#57)
CI / security (push) Successful in 1m10s
CI / lint (push) Successful in 21s
CI / ai-review (push) Skipped
2026-11-07 03:17:22 +00:00
xavierk 808bd17704 docs(readme): current usage, GPU and CUDA section, single upstream credit (#56)
CI / security (push) Successful in 1m10s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
2026-11-07 03:00:25 +00:00
xavierk d1a80e6ead chore(release): prepare v0.19.1 (#55)
CI / security (push) Successful in 1m21s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
2026-11-06 21:18:15 +00:00
xavierk 8b842e5712 fix(legacy): flag leftover upstream Vocalinux launchers (#54)
CI / security (push) Successful in 1m12s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
After the tray is up, Voculinux looks for a user-level vocalinux.desktop or ~/.local/bin/vocalinux(-gui) whose target is gone. It logs them and shows one notification naming the files to remove. It never changes the user's files, and a working upstream install is left alone. The README gains a migration note.

Fixes #52
2026-11-06 21:03:29 +00:00
xavierk 731b919865 chore(release): prepare v0.19.0 (#53)
CI / security (push) Successful in 1m11s
CI / lint (push) Successful in 21s
CI / ai-review (push) Skipped
Version 0.19.0 across version.py, the Void template and the synced docs; changelog entry; Gitea project URLs in pyproject.toml; per-backend ladder thresholds measured in #19; the xbps release workflow is manual-only, and packaging/void/publish-release.sh publishes a locally built, verified repository to the Gitea releases.
2026-11-06 20:23:14 +00:00
xavierk 85cbc37842 fix(tray): show the tray before the speech model loads (#51)
CI / security (push) Successful in 1m17s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
The first model load runs on a background thread after the tray is up. While it loads the tray shows the processing icon and 'Loading model…', and a dictation request gets a 'still loading' notification. A failed load leaves the tray in the error state instead of exiting.

Fixes #50
2026-11-06 20:00:50 +00:00
xavierk 0c48db5b5e fix(void): report pywhispercpp 1.5.0 and load CPU variants at runtime (#49)
CI / security (push) Successful in 1m9s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
Fixes #43
Fixes #44
2026-11-06 18:51:30 +00:00
xavierk b0d8afad92 fix(audio): never open the microphone for system audio, never swap a configured mic (#48)
CI / security (push) Successful in 1m18s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
System-audio capture sets stream.capture.sink on the spawned pw-record, so PipeWire links only the sink monitor. An explicit microphone that is missing, renamed, virtual or output-only now fails with an Audio Input Unavailable notification instead of recording from the default input.

Fixes #41
Fixes #42
2026-11-06 18:35:19 +00:00
xavierk a451e1d512 fix(niri): conflict-free example keybinds and a niri-aware inject probe (#47)
CI / security (push) Successful in 1m26s
CI / lint (push) Successful in 21s
CI / ai-review (push) Skipped
The niri example binds move to Mod+Shift+M (toggle), Mod+Shift+S (start) and Mod+Shift+X (stop), free in stock niri and in Dank Material Shell's binds. inject-probe reuses the injector's niri guard, so it no longer reports the portal on niri.

Fixes #45
Fixes #46
2026-11-06 18:29:29 +00:00
xavierk a4a831c3c6 fix(src): drop remaining upstream install and wiki references (#40)
CI / security (push) Successful in 1m11s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
The missing-dependency error gives the Void xbps instruction instead of piping upstream's installer, the IBus hint points at the fork's docs (niri names its own notes), and the IBus engine homepage is the fork. VocaGateway stays upstream, with the credit stated in code and docs.
2026-11-06 16:32:52 +00:00
xavierk 37cf549956 fix(void): carry python3-pysocks and constrain the audio and SOCKS floors (#39)
CI / security (push) Successful in 1m15s
CI / lint (push) Successful in 24s
CI / ai-review (push) Skipped
voculinux now depends on python3-PyAudio and python3-pysocks at the carried versions, so a stock Void package below the project floors is upgraded rather than silently kept. The container smoke installs the stock packages first and asserts the upgrade.
2026-11-06 16:17:19 +00:00
xavierk 4171567fd7 docs: publish Void xbps as the only install channel, drop upstream references (#38)
CI / security (push) Successful in 1m12s
CI / lint (push) Successful in 21s
CI / ai-review (push) Skipped
User-facing docs, About page and website now point at the fork and the Void xbps repository, with one credit line to upstream Vocalinux. Channels this fork does not publish are removed from navigation.
2026-11-06 16:17:04 +00:00
xavierk b47a65c91e fix(void): build the xbps release from the tag, not an attached sdist (#37)
CI / security (push) Successful in 1m15s
CI / lint (push) Successful in 23s
CI / ai-review (push) Skipped
Every release is built from its tag alone by packaging/void/build-release.sh, shared by the tag workflow and local dry runs. Signs in a network-less container with the key mounted read-only and publishes to the tag release and the rolling latest release.
2026-11-06 15:31:47 +00:00
xavierk 2a76793109 fix(app): detect CUDA outside PATH, warn on IBus pin on niri, query Gitea for updates, repoint migrated dictionary (#36)
CI / security (push) Successful in 1m13s
CI / lint (push) Successful in 24s
CI / ai-review (push) Skipped
CUDA toolkit detection also checks CUDA_HOME, CUDA_PATH and /usr/local/cuda*, and the backend order names only backends the installed build compiled in. An explicit IBus pin on niri is honoured with one warning. The update checker queries this fork's Gitea releases and packaged installs make no network request. The one-time legacy import repoints a migrated dictionary path at the copied file.
2026-11-06 14:38:43 +00:00
xavierk f0a50fcff6 fix(web): remove Google Analytics and point site links at the fork (#35)
CI / security (push) Successful in 1m12s
CI / lint (push) Successful in 22s
CI / ai-review (push) Skipped
Drops the gtag scripts and the upstream measurement ID, rewrites the privacy copy to match, adds a test that no analytics ID appears under web/, and repoints footer links at the fork with one upstream credit link.
2026-11-06 14:27:59 +00:00
xavierk 180cd4d512 fix(spec16): close the review findings for the Void port (#34)
CI / security (push) Successful in 1m14s
CI / lint (push) Successful in 24s
CI / ai-review (push) Skipped
Model recommendation keyed to the installed build and free memory, fork-sourced Void templates, signed xbps release workflow on Gitea with the pinned repository key, niri injection guard and wtype-first order, tightened naming sweep, web copy fixes, and CI security and duplication fixes.
2026-11-06 14:13:49 +00:00
xavierk 5075933677 chore: merge Gitea template main into integration/spec16
CI / security (push) Failing after 1m12s
CI / lint (push) Failing after 22s
CI / ai-review (push) Skipped
Keeps the template CI files (.gitea/workflows/ci.yml, .jscpd.json, CI.md)
and the Voculinux README from integration/spec16.
2026-11-06 16:36:34 +05:30
xavierk 4a90b559ca Initial commit 2026-11-05 15:04:46 +00:00