Files
voculinux/docs
e66bd218d9 fix(audio): prevent dictation hangs on stalled microphones (#974)
* fix(audio): bound capture reads and support cancellation

* fix(recognition): bound and serialize capture shutdown

* fix(recognition): cancel retries and report stalled microphones

* fix(audio): prefer pulse when the ALSA default is unavailable

* fix(recognition): guard late callbacks and finalize capture tests

* docs(audio): explain input selection and stall recovery

* fix(speech): enforce auto-pause across buffered reload timeouts

* fix(speech): recover auto-resume after reload timeout

* test(speech): fix auto-pause follow-up test regressions

* fix(speech): retain auto-resume after reconfigure timeout

* fix(tray): preserve auto-pause recovery across suspend

* test(capture-shutdown): give the bare tray the suspend path's shortcut managers

_on_system_suspend now releases the main and per-language hotkey
listeners before sleep (#1025); the fixture builds TrayIndicator without
__init__, so it needs the two attributes present.

* fix(tray): release hotkey listeners on suspend even while auto-paused

Merging #1025's suspend cleanup with this branch's auto-pause handoff
left an early return that skipped shortcut_manager.stop() whenever a
configured game was active, keeping EVIOCGRABs held through sleep. The
paused branch now only owns the model-lifecycle work; listener release
and stopping active recognition run for every suspend.

* fix(tray): hold the apply lock only around the download's verify and save

Wrapping the whole recommended-model download in _apply_settings_lock
blocked every GTK-thread settings apply (e.g. Test Dictation) for the
length of the transfer. The engine already serializes reconfigures, so
the lock only needs to cover verifying the download still owns the
receipt and saving it; an apply that lands mid-download now proceeds
instead of freezing the app.

---------

Co-authored-by: Jatin K Malik <jatinkrmalik@gmail.com>
2026-10-26 21:25:50 -07:00
..

Documentation

User and maintainer documentation for Vocalinux.

Document Audience Description
INSTALL.md Users Recommended install, AppImage, AUR, Flatpak, Snap, CLI
INSTALL_MANUAL.md Users Manual install, system packages, PyPI/pipx
TROUBLESHOOTING.md Users Common install and runtime failures
USER_GUIDE.md Users Dictation, engines, models, shortcuts, tips
UPDATE.md Users How to upgrade; release notes by version
DISTRO_COMPATIBILITY.md Users Distro matrix, session caveats
HTTP_REMOTE.md Power users Remote HTTP transcription
FLATPAK_REMOTE.md Users / maintainers Self-hosted Flatpak remote and publishing
GATEWAY_EMBED.md Users Optional local VocaGateway integration
CUSTOM_DICTIONARY_DESIGN.md Contributors Custom terms and correction design
ARCHITECTURE.md Contributors Application modules, data flow, and threads
Performance benchmarks Contributors Before and after charts for the performance pass
AUR.md Arch users / maintainers AUR packages and publish secrets
RELEASE_PROCESS.md Maintainers Version bump, checklist, tagging

Project root:

Document Description
README.md Project overview and quick start
CHANGELOG.md Release history pointers
SUPPORT.md Where to get help
CONTRIBUTING.md Development setup and pull requests
SECURITY.md Vulnerability reporting and supported versions
CODE_OF_CONDUCT.md Community standards

Website product and design notes live under web/ (PRODUCT.md, DESIGN.md, README.md). Flatpak packaging: packaging/flatpak/README.md.

Website: vocalinux.com