GeezerVison is showing github.com — fix(goose): stable publisher selection, coherent live inspector and v1.4.2 hotfix by masarray · Pull Request #48 · masarray/DigSubAnalyzer
Conversation
Scope / provenance
- Based on unchanged
main SHA 561bf69a5cceee76d66b46350decea1e7da7593d, published v1.4.1.
- Isolated v1.4.2 hotfix candidate; v1.4.1 tag and release artifacts remain untouched.
- Operator screenshots/handoff: single-click GOOSE publisher selection releases under snapshots; DataSet Inspector flickers/empties, timeline/publisher mix historical/live state.
Code-level root cause addressed
- Snapshot producer returns new cloned
GooseMessageItem objects each snapshot; WPF ListView was bound to fully replaced IReadOnlyList and SelectedItem to a short-lived object. View recreation/null feedback could clear selection.
- Timeline selected-item setter also wrote publisher selection and unconditional collection-view
Refresh() reset the DataGrid.
- Inspector network metadata came from a timeline event while DataSet values came from a different live publisher frame.
- Raw analyzer originally indexed publishers by GoCbRef alone; multiple physical publishers with the same control-block reference could coalesce.
Implementation
- Stable
GoosePublisherKey: source MAC + APPID + VLAN + exact GoCBRef (fallback GoID/DataSet only if no GoCBRef); excludes stNum/sqNum/last-seen.
- Bounded keyed incremental
ObservableCollection<GoosePublisherRow> with persistent row instances and change-specific property notifications.
- Selected publisher key is the single source for its latest frame; WPF transient null is not an operator Clear.
- Publisher click chooses Live latest coherent snapshot. Timeline click explicitly pins historical event. Timeline events are not allowed to mutate publisher selection; pure collection additions do not force view resets.
- STALE state holds selected publisher's last decoded typed DataSet; explicit Clear removes selection. Filter options only change when available identities change.
- Engine's raw GOOSE state key now separates same GoCBRef from distinct source MACs.
- Regression: 1000 retransmissions without row recreation; same GoID multi-source/VLAN; alternating traffic; temporary disappearance/recovery; state-number changes; explicit Clear; bounded 500-source churn; raw same-GoCb distinct-MAC test.
- No changes to 8-DIP layout, SV phasor, waveforms or PTP path.
Verification matrix
Automated: Windows CI, Runtime Stability, Runtime Architecture, CodeQL, candidate Windows/Inno install + repair, repository health at exact PR HEAD SHA. Runs are required before approval; a green CI does not constitute mouse-click proof.
Manual Windows acceptance still required: sustained real GOOSE stream, single click at 100%, 125%, 150% DPI; retransmissions OFF/ON; multiple publishers; changes of filter/search; select timeline then publisher; STALE/recovery; matching/missing SCL. Verify About BuildInfo exact commit and installed executable hash against candidate manifest.
CI efficiency
One focused PR branch (no redundant branch builds), version reserved pre-PR so the Inno package gate won't fail on the already-published v1.4.1. Normal concurrency cancellation handles superseded SHA builds; rerun only failed jobs after code changes. No release tagging or auto-merge.
Do not merge/release as validated until workflows are green and field selection acceptance is recorded.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
chatgpt-codex-connector[bot] reacted with thumbs up emoji
… and remove timeline view resets
…elected publisher identity
Exact-SHA validation — v1.4.2 GOOSE selection hotfix candidate
PR HEAD: 44ec3fc0e041cada0125ede07c8b7985d5434bee (source branch fix/goose-publisher-selection-ssot-20261021; base main 561bf69a5cceee76d66b46350decea1e7da7593d).
All six checks completed SUCCESS for this exact SHA:
Candidate artifact: ProcessBusInsight-v1.4.2-win-x64-inno-candidate-292, GitHub artifact ID 12304818556; archive contains ProcessBusInsight-v1.4.2-win-x64-setup.exe, candidate-manifest.json, SHA256SUMS.txt, candidate-tests.trx. Candidate manifest commit is exactly 44ec3fc0e041cada0125ede07c8b7985d5434bee.
Installer SHA256 (verified directly against archive bytes): 5917a6fb2b61a6f706a7efd089c27c852cd119e4ea25e06b8591ffa5bfc2baba.
Important remaining gate — real Windows UI/traffic: while automated tests cover keyed reconciliation, real WPF mouse-click retention under sustained GOOSE retransmissions, selected-row highlighting at 100/125/150% DPI, switch to/from historical timeline, physical NIC/SCL mapping, STALE/resume and same-name multi-publisher behavior still need operator bench acceptance on the exact candidate EXE. CI cannot prove this. Keep PR draft and avoid publishing a stable release until that evidence is supplied.
No v1.4.1 release/tag/assets changed, no auto-merge, and no manual rerun/duplicate CI request was triggered.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Oct 20, 2026
Uh oh!
There was an error while loading. Please reload this page.
Codex Review Summary
This comment shows the latest Codex review activity on this pull request.
| Review |
Status |
Commit |
Review trigger |
| 📝 Code Review |
✅ Completed 2026-10-21T13:05:48.124543Z |
44ec3fc |
Draft marked ready |
ℹ️ 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" or "@codex security review".
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Oct 21, 2026
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|