feat(cua): release 0.38.0+artemis.1 with verified shell observation

Upgrade the pinned driver, validate menu and taskbar focus ownership, patch untitled Shell resolution, and remove duplicate scroll scaling. Publish package provenance, verification boundaries and matching marketplace checksum. Go tests, vet, build and byte-level package verification passed.
This commit is contained in:
chenmingxuan committed 2026-10-27 01:13:43 +08:00
1 parent dccddaa7e8
commit b780a60e8d
20 files changed
+759 -149

No files matched your search

@@ -0,0 +1,33 @@
diff --git a/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs b/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
index b13588d..b0bccf5 100644
--- a/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
+++ b/libs/cua-driver/rust/crates/platform-windows/src/win32/windows.rs
@@ -281,14 +281,26 @@ fn window_info_by_handle(hwnd: u64) -> Option<WindowInfo> {
return None;
}
let title_len = unsafe { GetWindowTextLengthW(native) };
- if title_len == 0 {
+ // An exact PID/HWND remains a valid identity for untitled native shell
+ // surfaces. Keep ordinary application/overlay discovery filters intact.
+ let untitled_shell = matches!(
+ window_class_name(native).as_str(),
+ "Shell_TrayWnd"
+ | "Shell_SecondaryTrayWnd"
+ | "NotifyIconOverflowWindow"
+ | "TopLevelWindowForOverflowXamlIsland"
+ | "#32768"
+ | "Progman"
+ | "WorkerW"
+ );
+ if title_len == 0 && !untitled_shell {
return None;
}
let mut buf = vec![0u16; (title_len + 1) as usize];
unsafe { GetWindowTextW(native, &mut buf) };
let title_len = buf.iter().position(|&c| c == 0).unwrap_or(buf.len());
let title = String::from_utf16_lossy(&buf[..title_len]);
- if title.trim().is_empty() {
+ if title.trim().is_empty() && !untitled_shell {
return None;
}
let minimized = unsafe { IsIconic(native) }.as_bool();