fix: Prevent multiple scans from running simultaneously and improve user notifications#1
Merged
GeekMasher merged 1 commit intomainfrom Jun 27, 2025
Merged
Conversation
…ser notifications
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR improves the user experience by preventing overlapping scans and fetch operations in the UiProvider class, ensuring system stability through proper state management and user notifications. Key changes include adding a _scanInProgress flag to block concurrent operations, updating runLocalScan and fetchRemoteAlerts to use this flag, and cleaning up the UI webview HTML by removing an extra closing tag.
Comments suppressed due to low confidence (1)
src/providers/uiProvider.ts:503
- Review the usage of _scanInProgress to ensure its naming and dual role for both scanning and fetching operations clearly reflects its purpose; consider using separate flags if distinct behavior is desired in the future.
this._scanInProgress = true;
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request enhances the
UiProviderclass insrc/providers/uiProvider.tsby introducing safeguards to prevent overlapping scans and fetch operations, improving the user experience and maintaining system stability. The most important changes include adding a_scanInProgressflag, implementing checks for concurrent operations, and ensuring the flag is reset appropriately.Enhancements to prevent overlapping operations:
Added
_scanInProgressflag: Introduced a private boolean property_scanInProgressto track whether a scan or fetch operation is currently in progress.Prevented overlapping scans: Updated the
runLocalScanmethod to check the_scanInProgressflag. If a scan is already in progress, a warning is logged, a message is sent to the UI, and an error notification is displayed to the user.Handled concurrent fetch attempts: Modified the
fetchRemoteAlertsmethod to include a similar check for the_scanInProgressflag, ensuring that fetch operations cannot start during an active scan.Reset
_scanInProgressflag: Ensured that the_scanInProgressflag is reset in thefinallyblock of bothrunLocalScanandfetchRemoteAlerts, regardless of whether the operation succeeds or fails. [1] [2]Minor UI adjustment:
UiProvider's webview by removing an unnecessary closing</div>tag.