Fix IED capability and fault-record window regressions - #49
Closed
masarray wants to merge 18 commits into
Closed
Conversation
masarray
added a commit
that referenced
this pull request
Jul 18, 2026
Port the valid fixes from stale PR #49 onto current main, including dispatcher-safe capability refresh, dedicated capability card layout, explicit Fault Record binding modes, and regression validation.
Owner
Author
|
Superseded by #59, which re-audited and ported every still-relevant fix onto the current |
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.
Root causes
Two WPF regressions were found after adding the per-IED capability actions.
Iec61850MonitorDevice.PropertyChanged. Online discovery publishes state changes from worker threads, so the handler touched WPF buttons from a non-UI thread and aborted an otherwise successful MMS discovery.FaultRecordWindowused implicit binding modes for read-only view-model properties.Run.Textattempted a source update for the getter-onlyEndpointTextproperty and threw while the window was being shown.Fix
OneTimefor immutableDeviceNameandEndpointTextlabelsOneWayfor dynamic display-only state and DataGrid columnsTwoWayonly for editable directory fields and record selectionExpected result
Validation
The Windows application workflow validates source boundaries, binding modes, UX invariants, ARIEC61850 API compatibility, restore, Release build, portable x64 publish, and artifact upload. Live testing against the reported IED remains the final acceptance test.