fix(deps): gate native input crates behind voice - #5225
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CI note: the Rust Core Coverage failure is reproducible on untouched
Both report that |
Summary
arboard,enigo, andrdevoptional root dependencies.voicefeature.Problem
The only production imports of these crates live in modules compiled behind
feature = "voice", but the dependencies were unconditional. As a result,--no-default-featuresbuilds still retained native text-input dependencies even though the voice domain was absent.Solution
The root manifest now marks each dependency optional and adds the corresponding
dep:edge tovoice. The feature documentation names the newly gated dependencies. No source or lockfile change is required: enabled voice builds resolve the same crate versions and compile the same modules as before.Submission Checklist
voicefeature set, and dependency-tree checks covered both disabled and enabled configurations.Cargo.tomldependency metadata and comments changed; there are no executable changed lines.voicegate.## Related- N/A: no coverage-matrix feature ID applies.Closes #NNNin the## Relatedsection.Impact
voiceno longer resolvearboard,enigo, orrdev.voice, so shipped clipboard insertion and global-hotkey behavior are unchanged.Related
AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
codex/5197-gate-voice-input-deps28e853cd50d0a80b0f31a03966cd0d7cd5b725f0Validation Run
pnpm --filter openhuman-app format:check- N/A: no frontend files changed;cargo fmt --all -- --checkpassed.pnpm typecheck- N/A: no TypeScript changed.GGML_NATIVE=OFF cargo test --locked --lib --no-default-features --features voice 'openhuman::voice::'- 200 passed, 0 failed.cargo fmt --all -- --check;GGML_NATIVE=OFF cargo check --locked --no-default-features --lib;GGML_NATIVE=OFF cargo check --locked --no-default-features --features voice --lib;GGML_NATIVE=OFF cargo check --locked --lib;node scripts/ci/check-feature-forwarding.mjs.Dependency-graph proof:
cargo tree --locked --no-default-features -i arboard|enigo|rdevreports that each package ID is absent.--features voiceresolve each crate directly fromopenhuman.Validation Blocked
command:pnpm rust:checkerror:the clean worktree does not initializeapp/src-tauri/vendor/tauri-cef, so Cargo cannot readvendor/tauri-cef/crates/tauri/Cargo.toml(OS error 2). The command also reports the local Node 22 version below the app's Node 24 requirement.impact:Tauri-shell compilation is left to CI. The diff contains no Tauri source changes; the root crate passes the exact minimalvoicebuild, the default build, and the feature-forwarding guard that verifies the shell still forwardsvoice.command:GGML_NATIVE=OFF cargo test --locked --lib 'openhuman::mcp_server::resources::tests::'on untouchedorigin/mainatdcc5b9b251f18e74b9b1ea9a3175cf1221dcacfberror:7 tests pass and 2 fail becauseRESOURCE_CATALOGis missing theflow_memory_agentadded by feat(flows): general read-only flow memory-agent (#5204) #5205; the same two tests fail in this PR's Rust Core Coverage job.impact:this current-main resource-catalog regression is unrelated to the one-fileCargo.tomldiff. The PR remains draft until an upstream catalog fix lands and CI can be rerun green.Behavior Changes
voiceexclude the native clipboard/input/hotkey dependencies.voiceand retain existing behavior.Parity Contract
voice, which restores all three dependencies and their existing modules.Duplicate / Superseded PR Handling