37390139fe402e8ce95ebb446a4c2146574e7dcb
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b8b4c18f54 |
chore(deps): bump Auth 0.2.1->0.3.0, LocalDb 0.2.1->0.3.4, MxGateway.Client/Contracts 0.2.0->0.2.1
Additive/wire-compatible releases across all three families; Directory.Packages.props is the only pin surface (no csproj-level overrides, no lock files). Auth 0.3.0 adds IApiKeyStoreMigrator and the optional Auth.ApiKeys.SqlServer package, neither needed here. LocalDb 0.3.4's on-disk bookkeeping schema goes v2->v3 (upgrades in place on open); 0.3.0 made the snapshot-resync flag per-table instead of per-database; 0.3.2 added validated Replication:KeepAlivePingDelay/KeepAlivePingTimeout config (defaults 60s/20s, left unset here) and a public LocalDbOplogGapException; 0.3.3 makes RegisterReplicated throw LocalDbRegistrationException for a table that is the parent of a row-mutating ON DELETE FK, which does not apply to this repo's four replicated tables (no FKs). MxGateway.Client/Contracts 0.2.1 publishes the alarm snapshot_status truncation frame and live alarm watch-list refresh; vendored the new nupkgs into nuget-packages/ (the local-mxgw source MxGateway.* is exclusively package-source-mapped to), matching the existing pattern from the 0.1.0->0.1.1 and 0.1.1->0.2.0 bumps. Full solution builds clean (0 errors, 908 pre-existing analyzer warnings, unchanged count). Full test suite: one failure, ClusterRoleInfoRoleLeaderCaseTests. RoleLeaderChanged_for_driver_then_Driver_keeps_distinct_entries, reproduces identically on the unbumped 0.2.1/0.2.1/0.2.0 tree under the same full-suite parallel run (and passes standalone in isolation in 2s on the bumped tree) - a pre-existing timing/parallelism flake, not a bump regression, so left as-is. Updated CLAUDE.md and two docs (Configuration.md, operations/2026-07-20-localdb-pair- replication.md) where they stated the old pin numbers and the now-superseded per-database snapshot-resync behavior as current fact; dated historical records (archreview snapshots, dated plan docs) were left untouched. Claude-Session: https://claude.ai/code/session_01Wzg6NUCWHipSexLs2cgRFv |
||
|
|
d14a75dfef |
chore(deps): adopt Auth 0.2.0 and MxGateway.Client/Contracts 0.2.0
Audited every ZB.MOM.WW.* pin against what is actually published. Fifteen of seventeen were already current; two were behind, for different reasons: - Auth 0.1.5 -> 0.2.0 was published on the Gitea feed and simply not adopted. - MxGateway 0.1.1 -> 0.2.0 was never adopted because these two packages resolve from the checked-in ./nuget-packages folder feed, not from Gitea, so a bump needs the .nupkg copied in from ~/Desktop/MxAccessGateway/dist/. Nothing reports the folder as stale; it just quietly keeps serving the old version. 0.1.2 (MxSparseArray) was skipped over entirely for the same reason. Both are purely additive at the API surface (diffed the shipped XML docs member by member: zero removals; Contracts +19, Client +45). Auth 0.2.0 adds LDAP endpoint failover -- an ordered FallbackServers list with sticky endpoint preference. Its one new validation rule rejects a malformed FallbackServers entry at boot, which cannot bite us: we never set the key and it defaults to empty. Net behaviour change here is zero; the failover is available if AdminUI login ever wants a backup DC. MxGateway 0.2.0 adds sparse-array values, replay-gap stream items, secret redaction helpers and a batch of session RPCs. Two notes on the value path: - MxValueDecoder's `_ => null` fallback already absorbed an unknown MxValue kind, so a sparse array degrades to null on the old and new contracts alike -- the bump does not change what we decode, it only makes handling it possible. Same for MxEvent.ReplayGap, which EventPump ignores; we stream with afterWorkerSequence: 0 and re-prime from the subscription on reconnect rather than relying on replay. Both are open follow-ups, not regressions. - Staying on 0.1.1 was never protection: the gateway decides what goes on the wire, and prod already runs a server past this contract. We pin no gateway contract version anywhere, so there is no handshake to update. Verified: restore clean, build 0 errors, and the warning census is unchanged (the 20 CS0618 obsoletes are all OPC UA SDK calls, none from these packages). Every project that references either package is green -- Galaxy 317, Galaxy Browser 21, Security 89, Host 106, AdminUI 1499 = 2032 tests, 0 failures. Not updating the scadaproj index: its OtOpcUa entry names the shared libraries but records no version pins, and which libraries we consume has not changed. |
||
|
|
5a70cd7910 |
chore(deps): bump vendored MxGateway.Client/Contracts 0.1.0 -> 0.1.1
User-published 0.1.1 of the MxGateway client + contracts packages into the local-mxgw vendored source (nuget-packages/). Bumps Directory.Packages.props to match and adds the 0.1.1 .nupkg artifacts alongside the existing 0.1.0 ones. Full solution builds clean against 0.1.1. |
||
|
|
560b327ee1 |
refactor(galaxy): migrate to ZB.MOM.WW.MxGateway.* nupkg packages
v2-ci / build (push) Failing after 33s
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
Imports the freshly-rebuilt ZB.MOM.WW.MxGateway.Client + ZB.MOM.WW.MxGateway.Contracts nupkgs (0.1.0) from /tmp/mxgw-dist. Replaces the vendored libs/ DLLs and the pre-restructure MxGateway.* namespaces across the runtime Galaxy driver, Galaxy.Browser, and their tests. Key changes: - nuget-packages/ added as a local feed via NuGet.config; .gitignore exempts it from the *.nupkg rule so the packages are tracked - Directory.Packages.props pins both packages at 0.1.0 - 4 csprojs swap <Reference HintPath="libs/...dll"/> for <PackageReference/> - 36 .cs files renamed `using MxGateway.*` -> `using ZB.MOM.WW.MxGateway.*` - libs/ removed (vendored DLLs + README.md) GalaxyBrowseSession rewritten around the new lazy API: - RootAsync calls GalaxyRepositoryClient.BrowseAsync (returns LazyBrowseNodes) and caches them by TagName instead of bulk-fetching the whole hierarchy - ExpandAsync looks up the cached LazyBrowseNode and calls its ExpandAsync, giving true one-wire-call-per-click instead of in-memory parent/child scan - _byGobjectId + _hasChildrenSet dropped (LazyBrowseNode carries HasChildrenHint) - AttributesAsync unchanged (already uses DiscoverHierarchyAsync MaxDepth=0) Tests: Galaxy.Tests 245/245, Galaxy.Browser.Tests 10/10, AdminUI.Tests 66/66. Pre-existing 12 solution errors unchanged (test sinks + Cli XML comments). |