Repository navigation
fix(speech): pin closure error types + Manager import for MSVC compile - #18
Merged
Merged
Conversation
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
windows-shell-check (first Windows compile) surfaced errors the Linux VM cannot build: bare `Ok(..)` inside command closures left E uninferred against InvokeError's multiple From impls (E0282/E0283 at 6 sites), voice_asset_delete returned &'static str against String (E0308), and speech_dir called AppHandle::path() without tauri::Manager in scope (E0599). Closures now declare -> SpeechResult<T> so map_err(InvokeError::from) resolves; delete maps to String; Manager imported in speech/mod.rs (and dropped from commands.rs where it was unused). Verification: deferred to windows-shell-check on this branch — the shell crate still cannot compile on Linux (webkit2gtk). Co-Authored-By: 大湿 <1136523089@qq.com>
windows-shell-check round 2: fake-artifact tests spawn `cl`, which is not on PATH on windows-latest without the MSVC dev environment — add ilammy/msvc-dev-cmd before the test step. load_missing_abi_header wrote a literal vivy-shared.so fixture, but VivyLibrary::load resolves the platform name (vivy-shared.dll on Windows) before the header check, so the missing-abi branch was never reached — write artifact_name() with the same per-OS names as library_path(). Verified: cargo test -p vivy-bridge 7/7 on Linux (real-artifact env present). Co-Authored-By: 大湿 <1136523089@qq.com>
fake_vivy.c used GCC-only __attribute__((visibility)) — cl rejects it (error goes to stdout, which the assert did not print). Add VIVY_EXPORT mapping to __declspec(dllexport) on _MSC_VER; also include stdout in the build-failure message. Verified: cargo test -p vivy-bridge 7/7 on Linux. Co-Authored-By: 大湿 <1136523089@qq.com>
devin-ai-integration
Bot
force-pushed
the
fix/windows-speech-shell
branch
from
October 4, 2026 12:03
8a2a842 to
0e2da20
Compare
main already imports Manager at the top of speech/mod.rs; the rebased import landed a second copy (E0252). Co-Authored-By: 大湿 <1136523089@qq.com>
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
Fixes the
windows-shell-checkfailures surfaced on the merged DN-8C CI job — theagent-diva-shelllib (src/speech/) could not be compile-checked on the authoring VM (no webkit2gtk), so these are the errors only MSVC/CI could see:commands.rs: bareOk(..)inside(|| { .. })()closures leftResult<_, E>ambiguous —InvokeErrorhas multipleFromimpls (tauri::Error,T: Serialize, blanketFrom<T> for T), so E0282/E0283 fired at 6 sites. Each closure now declares-> SpeechResult<T>so.map_err(InvokeError::from)resolves toFrom<SpeechError>exactly likespeech_transcribe's already-compiling path.voice_asset_delete:assets().delete()returnsSpeechResult<&'static str>but the command promisedResult<String, InvokeError>(E0308) — now.map(String::from).mod.rs:speech_dircallsapp.path()withouttauri::Managerin scope (E0599) — imported; the now-unusedManagerincommands.rsdropped (kills the warning too).No behavior change; error surface unchanged (
SpeechError→InvokeErrormapping identical). Verification iswindows-shell-checkon this branch — the crate still cannot compile on Linux.Sibling context:
agent-vivy#29gofmt drift fixed pre-merge (8681933d); no other compile errors existed in the failing log beyond these files.Link to Devin session: https://app.devin.ai/sessions/c016e7bc2d98433e93f645345cb937e5
Open in Devin Desktop: https://app.devin.ai/desktop/session/c016e7bc2d98433e93f645345cb937e5?variant=devin
Requested by: @mastwet