Repository navigation
P0: Responsive Static DataSet reporting and green IED progress (SSOT preserved) - #724
Conversation
…posing green IED-card reporting progress
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e0c3bdd1b4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| device.UpdateReportingProgress(4, "Preparing ARIEC Static DataSet members…"); | ||
| await System.Windows.Threading.Dispatcher.Yield(System.Windows.Threading.DispatcherPriority.Background); |
There was a problem hiding this comment.
Guard the yielded setup against device removal
If the operator removes an IED while Static DataSet setup yields to the dispatcher, the setup can resume and reconnect/start monitoring that removed device. BeginReportingProgress does not set IsBusy, so the card's Remove button remains enabled and IedRemove_Click accepts the removal. Neither this method nor its caller in MainWindow.SclQuickActions.cs checks cancellation or Devices.Contains(device) before continuing into connection and monitor startup. Previously, selection completed synchronously before another input event could run. Give this workflow an explicit per-device lifetime/admission guard and abort it when removal ends ownership, so an invisible IED cannot retain an active MMS/report session.
AGENTS.md reference: AGENTS.md:L139-L141
Useful? React with 👍 / 👎.
…ake reporting UI single-flight with Stop preemption
…tabilize sliced signal enumeration
2026-10-24 P0 responsive reporting review/checkpointFrozen operator FAT source: Operator DIAG at 08:41 WIB: SG7 77/77 visible, 4/4 exact RCB ingress routed, 156/156 static membership represented, no cyclic MMS process polling, discovery 15,568.7ms (directory 5,202.7, types 3,681.7, model 1,511.6, projection 5,115.2); ZIV 8/8, 1/1, discovery 2,774.7ms; GR_X 13/13, 2/2, discovery 2,377.5ms. BRCB continuity not certified: SG7 13 findings/4 BufOvfl, ZIV 1 BufOvfl, GR_X 1 sequence finding; no confirmation of lost SOE purely from these observations. No SCL peer ingress captured. Freeze/root code: UX: reuse only original IED Explorer 3px progress line, Foreground #16A34A when report arming; phase-completion progress max99 before finish and never claims actual ingress/SOE proof. Single-flight mutating controls disabled for the same IED while responsive reporting workflow is in progress, Stop remains enabled and preempts continuation. R7 green: workflow 40052798020, 2891/2891 application tests and 1272/1272 pinned ARIEC engine tests. FAT must still prove: no perceived WPF freeze during SG7 static selection, green progress visible and no grid repaint storms, event-driven 4/4 RCB routing and control feedback intact, |
…ack onto newer SSOT V2 baseline without SMV changes Preserve exact 10 field-proven Write/readback/test blobs from checkpoint 04350e1 and all other files from newer SSOT responsive-static PR #724 fb4932d. Trial ONLY, no upstream merge; do not repin native engine or revert SMV UI. User accepted Write popup close and IED Browser leaf MM S Read/SSOT; freeze existing code. For integration qualification only.
|
Cross-thread protection: Write operator FAT is accepted and frozen at |
b1d1778
into
integration/arsas-ssot-performance-p0-20261024
USER DIAG ACCEPTANCE / THREAD SCOPE CHECKPOINT — 2026-10-24 10:07 WIBScope status: PR #724 MERGED on 2026-10-24 03:16:55 UTC to Operator evidence at 10:07 WIB:
Cross-thread integration guard:
Thread-level deliverable may be handed off/archived after this checkpoint; global ARSAS final release and related unresolved issue closure are explicitly out of scope. PR #724 needs no manual close (already merged). |
User field DIAG on 2026-10-24 app 55ee722 (3 IEDs). Baseline frozen at checkpoint/arsas-ssot-command-fatform-55ee722-20261024, independent of concurrent ARSAS threads. Root cause: selection authority repeatedly walked the large SG7 Signals catalog per FCDA and a large WPF-bound selection/FAT projection ran synchronously after Static DataSet click, freezing input without progress. Changes: exact DataSet-key indexed membership matching, cooperative Dispatcher.Background slices of 128 WPF-owned signal selections and FAT bridge updates, no Task.Run over observable bindings, stage timings emitted as P0_STATIC_UI_WORK, reused card's existing 3px progress line green during reporting setup, source-neutral from card/Open SCL/FAT append. No changes to MMS polling, command, RCB configuration, event timestamps or engine. New model/XAML regression tests. Progress measures setup workflow, not report ingress/continuity. CI and field FAT required before merging.