Joseph Doherty
b05c281132
test(opcua): pin F10b boundary — vtag EquipmentId-change + multi-vtag-mixed still rebuild
2026-06-18 13:11:53 -04:00
Joseph Doherty
6c6a2c4203
perf(opcua): skip address-space rebuild for vtag expression/deps/historize-only edits (F10b)
2026-06-18 13:03:50 -04:00
Joseph Doherty
cb062fce90
feat(adminui): driver-snapshot GetAll() + pure Hosts driver-view builder ( #8 )
2026-06-18 11:40:37 -04:00
Joseph Doherty
0414a04892
test(adminui): review fixes — locked-snapshot assert, stable fake health, InitializeCount property
2026-06-18 09:18:37 -04:00
Joseph Doherty
f87ad5ae8f
test(adminui): E2E deployed-driver Healthy->Reconnecting->Healthy transition on Reconnect
2026-06-18 09:12:15 -04:00
Joseph Doherty
ffb725e4c1
test(harness): production-fidelity DI (AddOtOpcUaRuntime) + opt-in fake driver factory
2026-06-18 08:55:35 -04:00
Joseph Doherty
b47fc10ec0
feat(adminui): CertificateStoreManager — by-thumbprint trust/untrust/delete
2026-06-18 05:04:36 -04:00
Joseph Doherty
ac3450d5f4
fix(adminui): ctx-receiver guard + truthful SetVirtualTag hover in script-editor completions
2026-06-18 02:39:12 -04:00
Joseph Doherty
2e6c6d3ab6
feat(historian): page within oversized tie clusters ( #400 ) instead of loud-failing
2026-06-17 20:11:09 -04:00
Joseph Doherty
0f92e9e238
fix(adminui): reject AbLegacy array length >256 at author-time (review I-3)
v2-ci / build (push) Failing after 1m3s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
2026-06-16 22:31:42 -04:00
Joseph Doherty
3bb2031d1d
fix(opcua): array equipment-tag nodes are read-only (array writes out of scope, review M-1)
2026-06-16 22:31:15 -04:00
Joseph Doherty
c2006dfb57
feat(adminui): driver-agnostic isArray/arrayLength Tag-modal control
2026-06-16 21:50:27 -04:00
Joseph Doherty
eb8a8dc19d
test(runtime): cover disabled-array + zero-length in artifact parity round-trip (review)
2026-06-16 21:45:19 -04:00
Joseph Doherty
0a747c343d
feat(runtime): decode IsArray/ArrayLength byte-parity in DeploymentArtifact
2026-06-16 21:40:22 -04:00
Joseph Doherty
584e9f2aee
test(opcua): applier forwards array params + overflow rows + doc fix (review)
...
Extends RecordingSink to capture isArray/arrayLength per EnsureVariable call,
adds two applier-level tests asserting the wire-through for array and scalar
plans, adds float/overflow InlineData rows to ExtractTagArray theory, and
corrects the ExtractTagArray XML-doc wording (null => unbounded ArrayDimensions=[0]).
2026-06-16 21:36:38 -04:00
Joseph Doherty
71cc417182
feat(opcua): EquipmentTagPlan IsArray/ArrayLength + composer ExtractTagArray + applier wire-in
2026-06-16 21:27:43 -04:00
Joseph Doherty
3172b7bdee
test(opcua): cover null-arrayLength dimension + tighten scalar assertion (review)
2026-06-16 21:22:43 -04:00
Joseph Doherty
a792820283
feat(opcua): EnsureVariable array params (ValueRank=OneDimension + ArrayDimensions)
2026-06-16 21:16:07 -04:00
Joseph Doherty
a40c77de87
fix(adminui): flip remaining ModbusTcp test seeds + doc comments to Modbus (review)
2026-06-16 19:51:56 -04:00
Joseph Doherty
8b4675b1a5
fix(adminui): canonicalize Modbus driver-type string on "Modbus" (was ModbusTcp)
2026-06-16 19:39:41 -04:00
Joseph Doherty
23f353e79b
test(adminui): close Phase 6 review test-gaps + Enterprise-delete warning
2026-06-16 17:10:40 -04:00
Joseph Doherty
069a5f3165
feat(adminui): Galaxy picker pre-fills native-alarm fields from IsAlarm
2026-06-16 16:55:05 -04:00
Joseph Doherty
c00a547191
feat(adminui): isHistorized + historianTagname as first-class Tag fields
2026-06-16 16:44:46 -04:00
Joseph Doherty
c98625fd9f
feat(adminui): create-new-script from the inline virtual-tag panel
2026-06-16 16:44:14 -04:00
Joseph Doherty
526eebb3bb
feat(adminui): UNS-tree delete for Cluster + Enterprise (refuse-if-children, no rowversion)
2026-06-16 16:35:07 -04:00
Joseph Doherty
6a8020e7e7
feat(adminui): native-alarm HistorizeToAveva opt-out
2026-06-16 16:27:31 -04:00
Joseph Doherty
72d414ada7
feat(adminui): typed TagConfig editors for OpcUaClient + Historian
2026-06-16 16:25:19 -04:00
Joseph Doherty
1164d423b6
fix(probe): Galaxy gRPC ping — drop invalid Retry, treat MxGatewayAuth exceptions as reachable (live /run)
...
v2-ci / build (push) Failing after 44s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Two bugs caught by live verification against the mxaccessgw at 10.100.0.48:5120:
- MaxAttempts=1 produced an invalid Polly RetryStrategyOptions -> the probe failed
on every real gateway. Removed the Retry override (matches GalaxyDriver); fail-fast
is already guaranteed by the TCP preflight + the per-call deadline.
- A rejected key surfaces as a typed MxGatewayAuthenticationException, not a raw
RpcException, so 'auth-rejection = reachable' was bypassed. Catch the typed auth/
authorization exceptions -> Ok=true.
Adds DriverProbeHandshakeE2eTests: direct-probe, skip-gated cross-protocol green/red
discrimination (Modbus, OpcUaClient, Galaxy + a local real OPC UA server).
2026-06-16 07:32:59 -04:00
Joseph Doherty
93d9160dae
feat(alarms): DriverHostActor routes native-condition acks to the owning driver [H6d]
2026-06-15 14:46:00 -04:00
Joseph Doherty
87dd65b97a
test(alarms): native ack wrong-role deny + tidy NativeAlarmAck doc (code-review)
2026-06-15 14:39:26 -04:00
Joseph Doherty
a6d9de091b
feat(alarms): native condition Acknowledge routes to NativeAlarmAckRouter with principal [H6c]
2026-06-15 14:33:58 -04:00
Joseph Doherty
328bd1b9ee
feat(alarms): wire OnEnableDisable over OPC UA (AlarmAck-gated; native→BadNotSupported) [H4]
2026-06-15 14:24:19 -04:00
Joseph Doherty
226587d817
test(alarms): cover isNative rebuild/kind-flip lifecycle + Phase7Applier call-site (code-review)
2026-06-15 14:20:20 -04:00
Joseph Doherty
418663b359
feat(alarms): thread isNative through MaterialiseAlarmCondition; node manager tracks native conditions [H6a]
2026-06-15 14:13:30 -04:00
Joseph Doherty
4c78dcd358
feat(redundancy): wire dbHealth into OpcUaPublishActor + spawn PeerProbeSupervisor per node
2026-06-15 13:33:34 -04:00
Joseph Doherty
5a064e086d
test(redundancy): lock in stale-Terminated guard + clarify OnTerminated (code-review)
2026-06-15 13:29:58 -04:00
Joseph Doherty
f41e957e07
feat(redundancy): PeerProbeSupervisor maintains one peer OPC UA probe per driver peer
2026-06-15 13:22:38 -04:00
Joseph Doherty
37b32a5623
feat(redundancy): periodic HealthTick refreshes DB reachability via Ask/PipeTo
2026-06-15 13:15:26 -04:00
Joseph Doherty
5382eea9b5
test(redundancy): cover stale-probe-not-demoted branch + make _probeFreshnessWindow readonly (code-review)
2026-06-15 13:11:01 -04:00
Joseph Doherty
cf278035d2
feat(redundancy): OpcUaProbeOk from peer-probes-me with freshness debounce
2026-06-15 13:04:41 -04:00
Joseph Doherty
a9ff1a64b2
fix(redundancy): always publish first ServiceLevel (even 0) + log SafeSelfStatus failures (code-review)
2026-06-15 13:00:25 -04:00
Joseph Doherty
3e609a2b19
feat(redundancy): OpcUaPublishActor computes ServiceLevel via calculator (DB+stale+leader; legacy seam)
2026-06-15 12:51:32 -04:00
Joseph Doherty
ff0f62db38
refactor(redundancy): move ServiceLevelCalculator to Core.Cluster (shared, Runtime-reachable)
2026-06-15 12:45:17 -04:00
Joseph Doherty
4501f12669
feat(vtags): wire IHistoryWriter through DriverHostActor (Null default; durable sink infra-gated) (H5d, stillpending §1)
2026-06-15 10:38:49 -04:00
Joseph Doherty
2f30c54dc1
test(vtags): thread-safe CapturingHistoryWriter + drop redundant wait (H5c review follow-up)
2026-06-15 10:33:14 -04:00
Joseph Doherty
0c6d4c5491
feat(vtags): forward historized vtag results to IHistoryWriter (H5c, stillpending §1)
2026-06-15 10:26:25 -04:00
Joseph Doherty
83d3b9f7be
test(vtags): planner detects Historize-only toggle as a change + doc nit (H5a review follow-up)
2026-06-15 10:21:31 -04:00
Joseph Doherty
9c5a091395
feat(vtags): decode VirtualTag Historize from artifact, byte-parity with composer (H5b, stillpending §1)
2026-06-15 10:17:08 -04:00
Joseph Doherty
fc8121cbf3
feat(vtags): carry VirtualTag.Historize onto EquipmentVirtualTagPlan (H5a, stillpending §1)
2026-06-15 10:17:05 -04:00
Joseph Doherty
ebf2f1dd7a
fix(vtags): prune _planByVtag on child termination + crash-then-change test (H1b review follow-up)
2026-06-15 10:12:11 -04:00