Skip to content

Resolve IED capability and fault-record regressions - #59

Merged
masarray merged 4 commits into
mainfrom
agent/resolve-pr49-regressions
Jul 18, 2026
Merged

Resolve IED capability and fault-record regressions#59
masarray merged 4 commits into
mainfrom
agent/resolve-pr49-regressions

Conversation

@masarray

Copy link
Copy Markdown
Owner

Summary

Ports the still-relevant fixes from stale draft PR #49 onto the current main branch without carrying its outdated history or conflicts.

Fixes

  • Marshals capability-state refreshes through the owning IED card dispatcher before touching WPF controls.
  • Verifies the card is still loaded and bound to the same IED before applying an asynchronous refresh.
  • Moves GOOSE, SMV, and File Transfer actions into a dedicated card row so they cannot cover lifecycle buttons.
  • Makes immutable Fault Record labels explicitly OneTime.
  • Makes display-only state and DataGrid bindings explicitly OneWay.
  • Keeps only editable directory fields and record selection as TwoWay.
  • Adds a source-validation guard that prevents implicit binding-mode regressions.

Why replace #49

PR #49 is an old conflicting draft based on a much earlier main. Its substantive fixes were not fully present in the current branch, so they were re-audited and ported here as a compact current-base change set.

Validation

  • source and licensing boundaries
  • explicit Fault Record binding modes
  • UX, GOOSE, and SAS invariants
  • ARIEC61850 compatibility
  • .NET restore and Release build
  • portable x64 publish and artifact upload

@masarray
masarray marked this pull request as ready for review July 18, 2026 06:17
@masarray
masarray merged commit 07c2dec into main Jul 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant