Compare commits
base: dohertj2/lmxopcua:fix/issues-503-501-493-499-488
dohertj2/lmxopcua:master
dohertj2/lmxopcua:fix/issues-503-501-493-499-488
dohertj2/lmxopcua:fix/504-abbreviate-db-strings
dohertj2/lmxopcua:fix/487-scripted-alarm-reassert
dohertj2/lmxopcua:fix/sql-driver-followups
dohertj2/lmxopcua:feat/modbus-rtu-driver
dohertj2/lmxopcua:chore/auth-0.1.5
dohertj2/lmxopcua:feat/secrets-0.2.0
dohertj2/lmxopcua:fix/alarm-condition-source-fields
dohertj2/lmxopcua:v3/batch4-address-space
dohertj2/lmxopcua:v3/batch3-uns-rework
dohertj2/lmxopcua:v3/batch2-raw-ui
dohertj2/lmxopcua:v3/batch1-schema-identity
dohertj2/lmxopcua:bump-historiangateway-0.3.0
dohertj2/lmxopcua:fix/historian-gateway-integration
dohertj2/lmxopcua:fix/fu1-alarm-source-roundtrip
dohertj2/lmxopcua:feat/historian-gateway-backend
dohertj2/lmxopcua:fix/focas-poll-io-serialization
dohertj2/lmxopcua:feat/focas-pdu-v3
dohertj2/lmxopcua:chore/fixdocs-xml-doc-comments
dohertj2/lmxopcua:feat/adopt-zb-health
dohertj2/lmxopcua:docs/native-alarms-verified
dohertj2/lmxopcua:fix/adminui-probes-and-live-panels
dohertj2/lmxopcua:v2-gap-closeout
dohertj2/lmxopcua:v2-akka-fuse
dohertj2/lmxopcua:refactor/galaxy-mxgateway-client-rename
dohertj2/lmxopcua:auto/driver-gaps-stash
dohertj2/lmxopcua:auto/driver-gaps
...
compare: dohertj2/lmxopcua:0e93587b1ca7cdd82e8e9d04f55d3b31f4ec4134
dohertj2/lmxopcua:master
dohertj2/lmxopcua:fix/issues-503-501-493-499-488
dohertj2/lmxopcua:fix/504-abbreviate-db-strings
dohertj2/lmxopcua:fix/487-scripted-alarm-reassert
dohertj2/lmxopcua:fix/sql-driver-followups
dohertj2/lmxopcua:feat/modbus-rtu-driver
dohertj2/lmxopcua:chore/auth-0.1.5
dohertj2/lmxopcua:feat/secrets-0.2.0
dohertj2/lmxopcua:fix/alarm-condition-source-fields
dohertj2/lmxopcua:v3/batch4-address-space
dohertj2/lmxopcua:v3/batch3-uns-rework
dohertj2/lmxopcua:v3/batch2-raw-ui
dohertj2/lmxopcua:v3/batch1-schema-identity
dohertj2/lmxopcua:bump-historiangateway-0.3.0
dohertj2/lmxopcua:fix/historian-gateway-integration
dohertj2/lmxopcua:fix/fu1-alarm-source-roundtrip
dohertj2/lmxopcua:feat/historian-gateway-backend
dohertj2/lmxopcua:fix/focas-poll-io-serialization
dohertj2/lmxopcua:feat/focas-pdu-v3
dohertj2/lmxopcua:chore/fixdocs-xml-doc-comments
dohertj2/lmxopcua:feat/adopt-zb-health
dohertj2/lmxopcua:docs/native-alarms-verified
dohertj2/lmxopcua:fix/adminui-probes-and-live-panels
dohertj2/lmxopcua:v2-gap-closeout
dohertj2/lmxopcua:v2-akka-fuse
dohertj2/lmxopcua:refactor/galaxy-mxgateway-client-rename
dohertj2/lmxopcua:auto/driver-gaps-stash
dohertj2/lmxopcua:auto/driver-gaps
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0e93587b1c |
merge: test-correctness, config-secret and AdminUI fixes (#503 #501 #493 #499 #488 #505)
Six issues closed, one new one found, filed and fixed.
- #503 Galaxy EventPump flake — root cause was cross-test measurement leakage on a
STATIC Meter, not a timing budget. 15/15 clean under the issue's own contention
recipe. Three further defects in the same test fixed on the way, including a
"held" dispatch loop that was never held (async void on EventHandler<T>) and an
assertion built from a derived quantity, which could only fail spuriously.
- #501 Three absence assertions given positive controls (a fourth site the issue
did not list). Proven falsifiable by breaking the production code: both breaks
passed under the old AwaitAssert form.
- #493 docker-dev seed backfills ClusterNode.GrpcPort; upgrade step documented.
Deliberately no EF migration — the right value is per-node config the DB cannot
derive, and a wrong dial target is worse than a NULL that is already skipped.
- #499 Sql credentials refused in ClusterNode.DriverConfigOverridesJson, gated at
the SAVE rather than the deploy: node overrides never enter the artifact, so a
deploy gate would not stop the credential being stored. Live-verified.
- #488 Periodic desired-vs-actual subscription reconcile (option A), gated on
ISubscribable so a non-subscribable driver is not Subscribe-spammed forever.
- #505 The AdminUI cluster-node editor had never worked at all — HTTP 500 on load
(InputNumber<byte>) and Save a silent no-op (NodeId regex forbids the ':' every
NodeId contains), with no ValidationSummary to reveal it. Pre-existing on master,
invisible to 739 green AdminUI tests, found only by going to drive the page.
Also closed #492 (already fixed by
|