Fix: Race condition on host/port scanned #3287
Merged
+34
−14
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.
Changes proposed in this pull request
Related issue(s)
Copilot generated summary
Provide a Copilot generated summary of the changes in this pull request.
Copilot summary
This pull request makes improvements to the scan completion logic in both the IP scanner and port scanner view models to ensure UI updates occur in the correct order and with appropriate thread priority. It also updates the IP range detection logic to use a configurable public IP address. The most important changes are grouped below.
UI Threading and Scan Completion Ordering:
IPScannerViewModel.csandPortScannerViewModel.cs, theScanCompleteevent handler now runs on the UI thread withDispatcherPriority.Backgroundto ensure all scan results are added before updating scan state, preventing race conditions and improving UI consistency. [1] [2] [3] [4]IP Range Detection Logic:
DetectIPRange()to useGlobalStaticConfiguration.Dashboard_PublicIPv4Addressinstead of a hardcoded IP address, making the detection logic configurable and more robust.Minor UI Consistency:
HostScannedevent handler inIPScannerViewModel.csfor improved readability.To-Do
Contributing
By submitting this pull request, I confirm the following: