Joseph Doherty
c3c5617266
docs(test): neutralize last stale 'SystemPlatform tags' comment (final-review nit)
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-12 22:44:10 -04:00
Joseph Doherty
7d25480fee
docs(galaxy): neutralize remaining stale SystemPlatform/alias terminology in comments + a test name
...
Replace "SystemPlatform mirror tag", "Galaxy alias", and "SystemPlatform-kind" in doc-comments and
test names with neutral accurate wording ("FolderPath-scoped tag", "EquipmentId == null", etc.).
No code, logic, or test bodies changed — comments and one test method name only.
2026-06-12 22:30:50 -04:00
Joseph Doherty
dcbaf63ab1
feat(config): remove the SystemPlatform NamespaceKind (capstone) — Galaxy is Equipment-kind
2026-06-12 22:18:56 -04:00
Joseph Doherty
0945f19a50
feat(adminui): wire Galaxy live-browse picker into the standard TagModal
2026-06-12 22:09:22 -04:00
Joseph Doherty
5dfb797817
refactor(adminui): strip alias/relay machinery from UnsTreeService + EquipmentPage; Galaxy tags use standard TagModal
2026-06-12 21:28:13 -04:00
Joseph Doherty
fcf84adbad
fix(historian-client): cancellable TLS client handshake + default-fields test (review)
2026-06-12 12:13:04 -04:00
Joseph Doherty
d4ecc9138f
feat(adminui): historian TCP-connect probe + TLS form fields
2026-06-12 12:07:06 -04:00
Joseph Doherty
72f32045a4
refactor(historian): remove named-pipe transport
2026-06-12 11:51:53 -04:00
Joseph Doherty
57355405a6
chore(security): drop dead audit suppressions; patch OpenTelemetry + Tmds.DBus CVEs
...
All five suppressed advisories are now resolved at baseline/resolved versions,
so every NuGetAuditSuppress is removed repo-wide:
- System.Security.Cryptography.Xml (GHSA-37gx-xxp4-5rgx / GHSA-w3x6-4m5h-cxqf)
-> fixed by the .NET 10 baseline (10.0.6)
- OPCFoundation Opc.Ua.Core (GHSA-h958-fxgg-g7w3) -> fixed at resolved 1.5.378.106
Two were still live and are now patched via direct security pins:
- OpenTelemetry.Api 1.9.0 -> 1.15.3 (GHSA-g94r-2vxg-569j) pinned in Cluster;
Runtime/ControlPlane/AdminUI + tests inherit via project reference
- Tmds.DBus.Protocol 0.20.0 -> 0.21.3 (GHSA-xrw6-gwf8-vvr9) pinned in Client.UI
Also correct the Historian sidecar runtime comments (x86 -> x64, matching the
csproj PlatformTarget). Solution audit: 0 vulnerable packages; full build clean.
2026-06-12 09:03:42 -04:00
Joseph Doherty
d19271fff8
fix(adminui): converter skips name-collisions + disabled relays (review)
2026-06-11 21:44:19 -04:00
Joseph Doherty
943bc5f709
feat(adminui): ConvertRelayVirtualTagsToAliasesAsync (relay VTag -> alias Tag)
2026-06-11 21:32:43 -04:00
Joseph Doherty
fe068652b3
fix(adminui): alias update pins invariants + LoadAliasTagAsync + null-driver guard (review)
2026-06-11 21:25:06 -04:00
Joseph Doherty
53116bdd83
feat(adminui): CreateAliasTagAsync/UpdateAliasTagAsync + Galaxy-gateway guard
2026-06-11 21:17:45 -04:00
Joseph Doherty
fcc73ccd2d
fix(adminui): null Source for alias rows without a FullName (review nits)
2026-06-11 21:12:52 -04:00
Joseph Doherty
4b4738a891
feat(adminui): alias DTO + Galaxy gateway lookup + Source/IsAlias on tag rows
2026-06-11 21:05:02 -04:00
Joseph Doherty
80b19d6fc8
chore(uns): create-redirect null guard + alarm isolation test + alarm-authoring doc (final review)
2026-06-11 15:23:06 -04:00
Joseph Doherty
f1c4392b0d
refactor(uns): drop dead LoadEquipmentChildrenAsync + LinesForCluster; fix stale comment
2026-06-11 15:11:28 -04:00
Joseph Doherty
826ffdc1a0
feat(uns): equipment is a tree leaf linking to the detail page; drop EquipmentModal
2026-06-11 15:01:10 -04:00
Joseph Doherty
7fbfeca451
feat(uns): equipment detail page shell + Details tab + create-redirect
2026-06-11 14:36:48 -04:00
Joseph Doherty
5cae3c5b96
fix(uns): guard scripted-alarm name uniqueness on create/update (code-review)
2026-06-11 14:31:35 -04:00
Joseph Doherty
705ed6234f
feat(uns): scripted-alarm CRUD in IUnsTreeService for the equipment Alarms tab
2026-06-11 14:25:59 -04:00
Joseph Doherty
7c22861598
feat(uns): per-equipment tag/virtual-tag list service methods
2026-06-11 14:19:46 -04:00
Joseph Doherty
7d91737dac
feat(uns): carry created id on UnsMutationResult for equipment create
2026-06-11 14:16:21 -04:00
Joseph Doherty
3a0e0907e4
feat(adminui): add connection-health signal to in-process broadcaster + bridges
2026-06-11 09:20:36 -04:00
Joseph Doherty
6c23a6763a
test(adminui): DB-backed tests for ScriptTagCatalog.GetEquipmentRelativeLeavesAsync
2026-06-10 08:12:52 -04:00
Joseph Doherty
a7c1d7f7cb
test(adminui): cover divergent-prefix {{equip}} rejection; use EquipToken constant in message
2026-06-10 08:08:13 -04:00
Joseph Doherty
c7041a24e7
feat(adminui): {{equip}}-aware hover + {{equip}}. leaf completion in the script editor
2026-06-10 08:04:51 -04:00
Joseph Doherty
cadd6c60b7
feat(adminui): reject {{equip}} virtual tags whose equipment has no derivable base
2026-06-10 07:58:38 -04:00
Joseph Doherty
142635b402
feat(adminui): tag-path hover (tag kind/type/driver inside ctx.GetTag literals)
v2-ci / build (push) Failing after 47s
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-10 05:48:02 -04:00
Joseph Doherty
fc7dc3b57d
feat(adminui): inline script-source editor in the virtual-tag modal
2026-06-09 15:23:35 -04:00
Joseph Doherty
4a2f7e37e5
feat(adminui): script document formatting (NormalizeWhitespace)
2026-06-09 15:06:40 -04:00
Joseph Doherty
9104b6c614
feat(adminui): script hover + signature help
2026-06-09 15:03:40 -04:00
Joseph Doherty
521fb61e44
feat(adminui): tag-path completion inside ctx.GetTag/SetVirtualTag literals
2026-06-09 14:53:15 -04:00
Joseph Doherty
d1434933b4
feat(adminui): IScriptTagCatalog for tag-path completion
2026-06-09 14:49:19 -04:00
Joseph Doherty
93f5a745a3
feat(adminui): scope + dot-member script completions
2026-06-09 14:36:28 -04:00
Joseph Doherty
6a9b052fc7
feat(adminui): script diagnostics (Roslyn + forbidden-type + dynamic-path)
2026-06-09 14:29:08 -04:00
Joseph Doherty
fa96989e2a
feat(uns): validate typed TagConfig before save (F-uns-2 / #156 )
...
v2-ci / build (push) Failing after 38s
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 per-driver editor models expose Validate() (required-field checks) but the
TagModal never called them, so a blank required field (e.g. S7 address, AbCip
tag path) saved silently and only failed at deploy/connect. Add a
TagConfigValidator registry (DriverType -> model.FromJson(json).Validate(),
parallel to TagConfigEditorMap) and call it in SaveAsync before the service
call — a non-null result sets the modal error and blocks save. Unmapped drivers
(no typed editor) and Modbus (no required field) return null. Editors untouched.
AdminUI.Tests 307/307 (12 new validator tests); build clean.
2026-06-09 11:45:35 -04:00
Joseph Doherty
c0afecda50
fix(uns): omit blank optional keys from TagConfig + add omission tests; drop unused ParseInt (T4-T8 review)
2026-06-09 09:49:33 -04:00
Joseph Doherty
75021fa2c9
feat(uns): S7/AbCip/AbLegacy/TwinCAT/Focas typed tag-config editors (F-uns-1 T4-T8)
2026-06-09 09:42:40 -04:00
Joseph Doherty
5990b673cc
feat(uns): Modbus typed tag-config editor (F-uns-1 T3)
2026-06-09 09:36:19 -04:00
Joseph Doherty
fd9fa75d0e
feat(uns): TagConfig JSON helper + editor map + TagModal dispatch scaffold (F-uns-1 T2)
2026-06-09 09:26:50 -04:00
Joseph Doherty
d9dbd7917a
feat(uns): surface DriverType to the TagModal driver dropdown (F-uns-1 T1)
2026-06-09 09:16:07 -04:00
Joseph Doherty
8ba64b1d99
fix(uns): enforce #122 on line reparent across clusters (final review)
v2-ci / build (push) Failing after 4m38s
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-08 14:12:46 -04:00
Joseph Doherty
7db9a24403
feat(uns): equipment CSV import folded into the tree toolbar
2026-06-08 13:56:01 -04:00
Joseph Doherty
c0346f14ce
feat(uns): tag + virtual-tag modals wired into the tree
2026-06-08 13:47:34 -04:00
Joseph Doherty
d637b834b9
fix(uns): reject equipment bind to non-existent driver + modal-xl (review)
2026-06-08 13:38:33 -04:00
Joseph Doherty
2beaa43d60
feat(uns): equipment modal wired into the tree
2026-06-08 13:31:14 -04:00
Joseph Doherty
a4a9dc912a
feat(uns): area + line modals wired into the tree
2026-06-08 13:20:25 -04:00
Joseph Doherty
307cec5a3d
test(uns): cover no-script + update-duplicate-name virtual-tag guards (review)
2026-06-08 13:15:10 -04:00
Joseph Doherty
d8fba02a5e
feat(uns): equipment-bound virtual-tag CRUD
2026-06-08 13:11:12 -04:00