Skip to content

fix(windows): stop Settings→Recent freeze from sync cmd /C ver - #388

Open
HaoChiBao wants to merge 2 commits into
andrewyng:mainfrom
HaoChiBao:fix/181-windows-settings-freeze
Open

fix(windows): stop Settings→Recent freeze from sync cmd /C ver#388
HaoChiBao wants to merge 2 commits into
andrewyng:mainfrom
HaoChiBao:fix/181-windows-settings-freeze

Conversation

@HaoChiBao

Copy link
Copy Markdown
Contributor

Summary

  • Leaving Settings remounts the composer, which calls sync get_dictation_status and was spawning cmd /C ver on the UI thread — freezing Windows for ~2–4 seconds (coming out of setting to recent tab on wondow giving a 2-4 seconds screen freez #181).
  • Replace that process spawn with an in-process windows-version OsVersion query (Windows-only dependency).
  • Add a small compatibility matrix unit test covering supported, too-old, and non-x64 builds.

Test plan

  • On Windows desktop: open Settings, then return to Recent/session — UI should not freeze for seconds
  • Settings → Voice input still shows a correct device summary / compatibility reason
  • cargo test --manifest-path surfaces/gui/src-tauri/Cargo.toml voice_input_compatibility_tests

Fixes #181

get_dictation_status was spawning a process on the UI thread when the
composer remounted after leaving Settings. Query OsVersion in-process instead.

Fixes andrewyng#181
A parked approval could finish and clear the guard before a duplicate
spawn from a stale due() snapshot took its first step, so the task ran
twice (intermittent assert 2 == 1 in CI).

Also adds a regression test for the approval-lands-on-tick race.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

coming out of setting to recent tab on wondow giving a 2-4 seconds screen freez

1 participant