Conversation
2324ee4 moved `OfflineGgufSession` into `src/transcription.rs`, which is `#[cfg(target_os = "macos")]`, while the Linux-only `src/linux_transcriber.rs` imports it, so `main` does not compile for the Linux target: error[E0432]: unresolved import `crate::transcription` --> src/linux_transcriber.rs:8:12 `transcription.rs` cannot be ungated because it depends on the macOS-only `apple_speech` and `parakeet` modules, so the session owner moves to a platform-neutral module that both adapters import. macOS behavior is unchanged. Linux keeps the shared session owner from 2324ee4 instead of the raw `transcribe_cpp::Session` it held before that commit. Verified on x86_64 Linux: `cargo test --locked --bin voice-control` (145 passed), `cargo clippy --locked --bin voice-control --tests -- -D warnings`, `cargo fmt --all --check`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
maindoes not compile for the Linux target.Check Linuxon61d401afails in both jobs at the same error:test:cargo test --locked --bin voice-controlnix:nix build .#checks.x86_64-linux.package, atCompiling voice-control v2.1.19The previous main push,
983c71c(run 35392493576), fails the same way.Reproduction:
git checkout 61d401a && cargo check.Cause
2324ee4 moved
OfflineGgufSessionintosrc/transcription.rsand pointed the Linux-onlysrc/linux_transcriber.rsat it, butsrc/transcription.rsis#[cfg(target_os = "macos")]and cannot simply be ungated: it depends on the macOS-onlyapple_speechandparakeetmodules.The move itself was right. Before 2324ee4, Linux held a raw
transcribe_cpp::Sessionand never had the bounded-scratch session handling. This keeps one shared owner and only moves it to where both platforms compile it.Change
src/offline_gguf.rs: theOfflineGgufSessionowner moved verbatim, gated for macOS and Linux;src/linux_transcriber.rsandsrc/parakeet.rsimport it from the new module;src/transcription.rsdrops its now-duplicate definition.macOS behavior is unchanged: a move plus two import lines.
.github/workflowshas no macOS job, so that half relies on the release build as before.Placement note:
src/transcription.rsis the natural home but is macOS-only, andsrc/transcription_models.rsowns the catalog and installation rather than inference. Happy to relocate it if you prefer another module.No map or doc changes: no user-facing behavior, entry point, default, prerequisite, or recovery path changes.
Verification
x86_64 Fedora 44, local, non-root:
The 7 ignored tests are the Xvfb-gated X11 grab tests (
linux_input::tests), which need the workflow's isolated display. Wayland paste, virtual-microphone dictation, service IPC, and installer checks are left to CI.The
Check Linuxrun for this PR isaction_requiredpending maintainer approval (run 35442068703), so the results above are from a local run rather than CI on the branch.