Skip to content

Fix Windows modifier overlay visibility - #569

Merged
enaboapps merged 2 commits into
mainfrom
codex/fix-windows-modifier-overlay
Aug 10, 2026
Merged

Fix Windows modifier overlay visibility#569
enaboapps merged 2 commits into
mainfrom
codex/fix-windows-modifier-overlay

Conversation

@enaboapps

Copy link
Copy Markdown
Contributor

Summary

  • bootstrap the Windows modifier overlay WebView visibly but safely off-screen so WebView2 initializes
  • make Rust authoritative for revision-aware positioning and presentation
  • hide empty state and add a bounded, sanitized readiness diagnostic
  • add frontend and Rust regression coverage for ordering, readiness, stale revisions, cleanup, placement, and bootstrap policy

Root cause

The overlay was created hidden on every platform. On Windows the secondary WebView could remain uninitialized, so it never invoked modifier_overlay_ready; the backend then intentionally suppressed all non-empty presentation without recording a failure.

Impact

Modifier injection is unchanged. Windows users now see the non-focusable, click-through modifier panel, while macOS keeps its existing hidden startup behavior.

Validation

pm run lint

pm test (57 passed)

pm run build

  • cargo fmt --manifest-path src-tauri/Cargo.toml --check
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
  • cargo test --manifest-path src-tauri/Cargo.toml (132 passed)
  • local Windows Tauri run: dedicated modifier WebView created, completed readiness, and hid after empty initial state

Closes #568

@enaboapps
enaboapps marked this pull request as ready for review August 10, 2026 19:34
@greptile-apps

greptile-apps Bot commented Aug 10, 2026

Copy link
Copy Markdown

Greptile Summary

The modifier overlay now keeps window visibility actions ordered and checks the latest modifier revision before hiding. The previously reported stale-readiness race was exercised in both update and presentation orderings and did not conceal the newer overlay.

Confidence Score: 5/5

No blocking failure remains.

The exercised readiness, modifier-update, and presentation orderings leave the newer nonempty overlay visible. The current revision check prevents an older empty snapshot from issuing a hide after newer modifier input has been published.

T-Rex T-Rex Logs

What T-Rex did

  • Ran the deterministic revision-interleaving harness against the current modifier-overlay implementation, and both interleavings ended with the newer nonempty overlay visible while the stale empty revision was ignored.
  • Tried the focused native Rust test, but host compilation stopped because the system GDK development metadata is unavailable.
  • The executable harness verified that production source contains the revision equality guard and evaluated the same presentation decision path, with both interleavings ending in the newer nonempty overlay and the stale revision ignored.
  • Artifacts including the Python harness, validation run logs, and shell validation script were captured to support review.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (2): Last reviewed commit: "Serialize modifier overlay visibility" | Re-trigger Greptile

Comment thread src-tauri/src/modifier_overlay.rs Outdated
@enaboapps
enaboapps merged commit 6fa08c1 into main Aug 10, 2026
4 checks passed
@enaboapps
enaboapps deleted the codex/fix-windows-modifier-overlay branch August 10, 2026 20:00
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.

Fix modifier overlay visibility on Windows

2 participants