Skip to content

Fix FAT LIVE VALUE realtime authority and WPF scroll freeze - #259

Closed
masarray wants to merge 2 commits into
fix/static-dataset-rcb-backed-acquisitionfrom
fix/fat-712-livevalue-stability
Closed

Fix FAT LIVE VALUE realtime authority and WPF scroll freeze#259
masarray wants to merge 2 commits into
fix/static-dataset-rcb-backed-acquisitionfrom
fix/fat-712-livevalue-stability

Conversation

@masarray

@masarray masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Scope

Narrow recovery patch on top of the Build #1888 / 712e2c55 FAT line. No FAT layout redesign, no Static DataSet rollback, and no ARIEC61850 engine change.

Root cause found

IoListTestingWindow.LiveValueAuthority.cs changed VirtualizingPanel.VirtualizationMode from a Loaded/dispatcher path. WPF forbids changing that attached property after the ItemsHost has been measured, matching the observed InvalidOperationException and blank/frozen FAT window.

Fix

  • Remove all runtime mutation of VirtualizationMode / IsVirtualizing; baseline XAML owns virtualization.
  • Keep the authoritative LIVE VALUE cell event-driven.
  • Prefer the actual Iec61850MonitorPoint.Value report/poll process image over potentially stale ControlCurrentValue.
  • Canonicalize boolean display (false/False/FALSE -> stable False) and skip identical TextBlock.Text assignments to reduce scroll/update flicker.
  • Preserve Runtime value only as last-resort display fallback; no evidence/session/acquisition mutation.

Regression guards

Tests assert:

  • shared Engineering live source is used;
  • live monitor point has precedence over control cache;
  • no runtime virtualization mutation is reintroduced;
  • boolean text is canonicalized and redundant paints are skipped;
  • Value 1 / Value 2 evidence and acquisition policy remain untouched.

Physical relay bench validation is still required before merging into a release line.

masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Superseded by clean recovery PR #260. The implementation remains reference material only; its ancestry contains earlier recovery commits and it will not be used as the final baseline. Do not merge.

@masarray masarray closed this Sep 5, 2026
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