v2.0.0-beta.1
·
289 commits
to main
since this release
Version 2.0.0-beta.1
Multi-Instance & Sender-Aware Architecture
This major version introduces breaking changes to support professional multi-instance applications by making all COM events "Sender-Aware".
Changed (C# Core)
- Sender-Aware Events:
- All events now include the parameters
(object sender, object parentHandle, ...)to allow AutoIt to distinguish which instance fired the event.
- All events now include the parameters
- Architecture Refactor:
WebViewBridgenow holds a "Sealed" context linked to its specificWebViewManagerand parentHWND.
- Pre-emptive Key Blocking (Stability Phase):
- Abandoned Sync-Wait Loop: Removed the legacy approach of waiting for AutoIt's
Handled = TrueinOnAcceleratorKeyPressedvia a poll loop. This was causing intermittent COM deadlocks and re-entrancy issues. - Synchronous Veto: Replaced with
BlockedVirtualKeysproperty. Blocking is now performed immediately in C# based on a pre-defined list, ensuring 100% reliability for keys like F5 and F12.
- Abandoned Sync-Wait Loop: Removed the legacy approach of waiting for AutoIt's
- Internal Messaging Overlay:
InternalPushMessage: Implemented a secondary messaging layer to handle internal state updates and events that require UI-thread marshalling without triggering external COM event floods.
Added (C# Core)
BrowserWindowHandle: (222) [Property] Exposes the internal window handle (HWND) of the WebView2 control as a COM-friendly object. Allows users to perform native Win32 operations (likeSendMessageor custom subclassing) directly on the browser window.OnAcceleratorKeyPressedRestoration: (221) [Event] Restored functionality using Reflection to access the internalCoreWebView2Controller.BlockedVirtualKeys: (223) [Property] Allows defining a comma-separated list of VK codes to be blocked synchronously and pre-emptively by the C# core, bypassing COM sync issues.