* fix: run Rust tests in CI
Fixes#670
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: run Rust tests in CI
Adds a separate test.yml workflow to run existing Rust unit tests.
Fixes#670
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor: use mock TranscriptionManager in CI tests
Swap to a mock adapter during CI to avoid compiling whisper/Vulkan.
The mock has the same interface but no heavy dependencies.
Existing tests don't exercise transcription code, so this is safe.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add Nix flake for NixOS support
Provides:
- handy-appimage: AppImage-based package (default)
- devShell: Development environment for building from source
* fix(nix): address PR feedback for flake.nix
- Remove aarch64-linux from supportedSystems (ARM64 builds not produced)
- Read version dynamically from Cargo.toml instead of hardcoding
This enables automated updates during GitHub releases
* chore(nix): add GitHub Actions workflow to auto-update AppImage hash
Adds a separate workflow triggered on release publication that:
- Fetches the released AppImage
- Computes the SRI hash using nix-prefetch-url
- Updates flake.nix with the new hash
- Commits and pushes changes directly
Includes retry logic for timing issues and defensive checks to verify
the hash was actually updated and skip commits if unchanged.
* Update flake.nix hash to resolve mismatch
Co-authored-by: pinage404 <pinage404@gmail.com>
* Update flake.nix to install dependencies automatically
Co-authored-by: pinage404 <pinage404@gmail.com>
* fix: update AppImage hash for v0.7.0
* modified description
---------
Co-authored-by: pinage404 <pinage404@gmail.com>
Co-authored-by: CJ Pais <cj@cjpais.com>
* Add `select-none` and `cursor-default` to root to prevent selection and
hover on most items
* Lint
* refactor paths a bit
* format
---------
Co-authored-by: CJ Pais <cj@cjpais.com>
defer apple intelligence availability check from app initialization
to when the user actually tries to use the feature. accessing
SystemLanguageModel.default during early app startup causes SIGABRT
on macOS 26.x (tahoe) beta.
- remove availability check from default_post_process_providers()
- always include apple intelligence provider on macos arm64
- add checkAppleIntelligenceAvailable command for lazy checking
- show error message if apple intelligence unavailable when selected
- clear error on any dropdown selection for better UX
* feat: add fallback microphone for clamshell/desktop mode
* refactor: moved "Closed Laptop Microphone" setting to Debug
* cleanup
* run format
* add check back
---------
Co-authored-by: CJ Pais <cj@cjpais.com>