Joseph Doherty
da57c307a7
fix(adminui): refresh script dropdown label after inline create
...
After inline "New script" creates an SC-… id, the entry is now added
to _scripts BEFORE _form.ScriptId is set so the <InputSelect> has a
matching <option> on first render and the displayed label is correct.
Extracts VirtualTagModalHelpers.ResolveScriptLabel as a testable pure
helper (5 new unit tests in VirtualTagScriptDropdownTests).
2026-06-19 02:06:51 -04:00
Joseph Doherty
2dd723e195
fix(adminui): preserve edited alarm fields on Galaxy address re-pick
2026-06-19 02:02:06 -04:00
Joseph Doherty
6223bc970a
refactor(adminui): tidy cert-audit review nits (fallthrough comment + single PkiStoreRoot read)
2026-06-19 01:51:38 -04:00
Joseph Doherty
3eb370d4ea
refactor(adminui): explicit discard on fire-and-forget audit + Untrust not-found test (review)
v2-ci / build (push) Failing after 49s
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-19 00:45:10 -04:00
Joseph Doherty
3ee0099fae
refactor(adminui): omit error key on success cert-audit rows + assert OccurredAtUtc (review)
2026-06-19 00:38:41 -04:00
Joseph Doherty
23d45efcfd
feat(adminui): audit cert Trust/Untrust/Delete to ConfigAuditLog
2026-06-19 00:36:54 -04:00
Joseph Doherty
de6ce147fc
fix(runtime): drop OpcUaProbeResult in redundancy-topic subscribers (no dead-letter)
2026-06-19 00:32:03 -04:00
Joseph Doherty
084d73ea2b
feat(adminui): IAuditWriter adapter + cert-action audit-event factory
2026-06-19 00:31:37 -04:00
Joseph Doherty
40e8a23e7c
refactor(opcuaserver): rename Phase7* address-space pipeline to AddressSpace*
...
v2-ci / build (push) Failing after 37s
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
The OPC UA address-space build pipeline was named after a v2-roadmap
milestone number rather than its domain. Rename the family to describe
what it does (build/diff/apply the OPC UA address space):
Phase7Composer -> AddressSpaceComposer
Phase7CompositionResult -> AddressSpaceComposition
Phase7Planner -> AddressSpacePlanner
Phase7Plan -> AddressSpacePlan
Phase7Applier -> AddressSpaceApplier
Phase7ApplyOutcome -> AddressSpaceApplyOutcome
The 9 Phase7*Tests suites follow suit; Phase7ScriptingEntitiesTests ->
ScriptingEntitiesTests (it tests the scripting migration, not the
pipeline). Log-message prefixes move to the new class names.
Pure mechanical rename, no behavioral change. EF migration classes/IDs
(AddPhase7ScriptingTables, ExtendComputeGenerationDiffWithPhase7) are
immutable and left untouched, as are historical design docs.
Build clean; OpcUaServer 261/261, Runtime 272/272, ScriptingEntities
12/12 green.
2026-06-18 19:16:28 -04:00
Joseph Doherty
f6618144a4
perf(opcua): surgical in-place tag-attribute writes (Writable/Historizing) avoid rebuild (F10b)
2026-06-18 13:37:56 -04:00
Joseph Doherty
3fc258bd42
feat(opcua): add ISurgicalAddressSpaceSink + node-manager in-place tag-attribute update (F10b)
2026-06-18 13:32: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
07bd63f808
fix(adminui): /hosts timer dispose-race hardening + IAsyncDisposable parity with DriverStatusPanel (review)
2026-06-18 11:50:07 -04:00
Joseph Doherty
6457eba830
feat(adminui): /hosts cluster-grouped Driver Instances section ( #8 )
2026-06-18 11:45:37 -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
2e231911fd
fix(adminui): cert page review — server-side FleetAdmin re-check, explicit delete switch, alert CSS
2026-06-18 05:17:02 -04:00
Joseph Doherty
8c429c3131
feat(adminui): trust/untrust/delete actions on /certificates (FleetAdmin)
2026-06-18 05:11:12 -04:00
Joseph Doherty
e8769fd8a8
refactor(adminui): cert manager review polish — char.IsAsciiHexDigit, filtered catch, TOCTOU note
2026-06-18 05:08:39 -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
0f929ae668
fix(historian): defensive over-fetch cap + Validate gating comment (review)
2026-06-17 20:22:07 -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
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
a792820283
feat(opcua): EnsureVariable array params (ValueRank=OneDimension + ArrayDimensions)
2026-06-16 21:16:07 -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
68f9eef62d
fix(adminui): preserve historize on Galaxy re-pick + clear stale script-create error (review)
2026-06-16 17:03:38 -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
9a8b8ff6f6
feat(adminui): Build-address pickers in the protocol-driver Tag editors
2026-06-16 16:54:29 -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
fcb3801415
fix(historian): dead-letter poison events after maxAttempts (finding 002)
2026-06-16 05:25:43 -04:00
Joseph Doherty
30315185a3
feat(alarms): wire NativeAlarmAckRouter to DriverHostActor in host DI [H6e]
2026-06-15 14:54:12 -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
be6858baa1
fix(alarms): OnEnableDisable native-check via lock-guarded IsNativeAlarmNode + unstale AlarmCommand doc (code-review)
2026-06-15 14:30:17 -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
418663b359
feat(alarms): thread isNative through MaterialiseAlarmCondition; node manager tracks native conditions [H6a]
2026-06-15 14:13:30 -04:00
Joseph Doherty
4af8e65af1
fix(redundancy): PeerProbeSupervisor explicitly ignores co-mingled OpcUaProbeResult (integration review)
v2-ci / build (push) Failing after 34s
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-15 13:40:16 -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