You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tauri): add embedded WebDriver server health check functionality (#238)
* feat(tauri): add embedded WebDriver server health check functionality
- Introduced `checkEmbeddedServerAlive` function to verify the reachability of the embedded WebDriver server.
- Enhanced `TauriLaunchService` with `ensureEmbeddedServersHealthy` method to monitor and restart embedded WebDriver instances if they become unreachable, particularly addressing issues on Windows.
- Updated tests to cover the new health check functionality and ensure proper behavior during server status checks.
* feat(tauri): enhance embedded WebDriver server health check with configurable timeout
- Updated `checkEmbeddedServerAlive` to accept a customizable timeout parameter for the server status check, improving flexibility in various environments.
- Modified `TauriLaunchService` to utilize the new timeout option from the configuration for health checks.
- Added `statusPollTimeout` option in `TauriServiceOptions` to allow users to specify the timeout duration, addressing issues in slow CI environments.
- Adjusted tests to reflect the changes in the health check function and ensure proper handling of the new timeout parameter.
* feat(tauri): refactor embedded WebDriver health check and add stability probes for Windows
- Refactored `ensureEmbeddedServersHealthy` method to utilize a new `restartEmbeddedServer` helper function for improved readability and maintainability.
- Introduced `verifyEmbeddedServerStable` method to perform additional stability checks on Windows after a successful health check, reducing the risk of race conditions.
- Updated tests to reflect changes in method names and added new test cases for the stability probes, ensuring comprehensive coverage of the new functionality.
* feat(tauri): enhance mock update process with retry logic and error handling
- Introduced a `sleep` function to facilitate retries for mock updates that fail on the first attempt.
- Updated `updateAllMocks` to handle mock updates sequentially on Windows, preventing concurrent execution issues with WebView2.
- Implemented detailed error handling to throw an `AggregateError` when mock updates fail, including the failing mock IDs in the error message.
- Added comprehensive tests to validate the new retry logic and error handling for mock updates, ensuring robustness across different scenarios.
* feat(tauri-plugin-webdriver): implement script execution locks for concurrent WebView2 calls on Windows
- Added `ScriptExecutionLocks` to serialize concurrent `ExecuteScript` calls per webview, preventing potential completion handler drops and invalid states.
- Updated `init_with_port` to manage the new `ScriptExecutionLocks` alongside existing async script state management.
- Enhanced platform module exports to include `ScriptExecutionLocks` for better accessibility in the Windows environment.
* fix(tauri): improve error logging during mock update retries
- Enhanced the error handling in the `tryUpdate` function to log detailed debug information when a mock update fails, including the mock ID and the error encountered.
- This change aims to facilitate better debugging and tracking of issues during the mock update process.
0 commit comments