Joseph Doherty
420e934eb0
fix(centralui): cap retained event-log rows; hint keyword search 7-day window (review 2026-10-21 07/M-3, lane D follow-up)
2026-10-22 09:00:49 -04:00
Joseph Doherty
b032d7fe48
fix(centralui): bound FlowDebugService script cache (review 2026-10-21 07/M-2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
bd0f87e523
fix(centralui): dispose ConfigurationAuditLog browser-time module (review 2026-10-21 07/M-1)
2026-10-22 09:00:49 -04:00
Joseph Doherty
0bd856552c
fix(centralui): short negative TTL after a faulted pending-updates flight (review 2026-10-21 04/C4)
2026-10-22 09:00:49 -04:00
Joseph Doherty
d36f360d35
fix(centralui): SessionExpiry skips redirect after dispose (review 2026-10-21 07/C-3)
2026-10-22 09:00:49 -04:00
Joseph Doherty
fa73ddb453
fix(inbound): background active-node-only method warm-up service (review 2026-10-21 05/U3)
2026-10-22 09:00:49 -04:00
Joseph Doherty
4921ebb0c8
fix(host): distinguish secret-store fault from missing PSK secret (review 2026-10-21 05/U2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
12f815a7ea
fix(esg): short-TTL definition cache for central lookups (review 2026-10-21 05/P2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
ee8be8001e
fix(esg): JSON-serialise non-scalar GET/DELETE query parameters (review 2026-10-21 05/O2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
e93af5a21f
fix(inbound): single-use nonce on relay provenance proofs (review 2026-10-21 05/O1)
2026-10-22 09:00:49 -04:00
Joseph Doherty
26baa5a170
fix(inbound): in-memory request buffering; relaying standby skips audit capture (review 2026-10-21 05/M4)
2026-10-22 09:00:49 -04:00
Joseph Doherty
6c9dfaf700
fix(inbound): prune expired ApiMethodCache entries; pin exact-name scopes (review 2026-10-21 05/M3)
2026-10-22 09:00:49 -04:00
Joseph Doherty
d7e87c0688
fix(inbound): single-flight method compile so concurrent first callers share one assembly (review 2026-10-21 05/M1)
2026-10-22 09:00:49 -04:00
Joseph Doherty
37c25db2f1
fix(site-runtime): batch native-alarm deletes into the coalesced flush transaction; docs for scripts/cache/scheduler (review 2026-10-21 01/SR-P2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
010d2ea438
fix(site-runtime): ConfigureAwait(false) on remaining script helper awaits (review 2026-10-21 01/SR-U2)
2026-10-22 09:00:49 -04:00
Joseph Doherty
4ff26a0614
fix(site-runtime): rate-limit shed Warning logs per script/alarm (review 2026-10-21 01/SR-P6)
2026-10-22 09:00:48 -04:00
Joseph Doherty
7541a38762
fix(site-runtime): reuse exited detached worker slots in script scheduler (review 2026-10-21 01/SR-M1)
2026-10-22 09:00:48 -04:00
Joseph Doherty
96cab3f3d7
fix(site-runtime): compile cache eviction counter+warning, configurable bound, never cache faulted compiles (review 2026-10-21 01/SR-M2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
b0a08bb63b
fix(auditlog): explicit permanent rejections on the ingest ack (IngestAck.rejected_event_ids, field 2) with a dedicated counter; reconciler ignores transient faults for abandonment; persist the served high-water mark; prune only on a non-empty enumeration (review 2026-10-21 06/PERF-1, 06/IMPL-1 adversarial follow-up)
2026-10-22 09:00:48 -04:00
Joseph Doherty
38167bca88
fix(auditlog): prune per-site reconciliation state and pull-channel caches for sites absent from the enumeration; bound the abandoned-id set (review 2026-10-21 06/MEM-2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
9e7e19c3c1
fix(auditlog): reconciliation pull serves only unacked rows (PushAbandoned/Rejected push-exit states), central pages within a tick with set-based inserts; refused push rows leave the queue after N attempts (review 2026-10-21 06/PERF-1, 06/COR-3, 06/IMPL-1)
2026-10-22 09:00:48 -04:00
Joseph Doherty
1da5d0bac4
fix(auditlog): page the site audit purge, bound incremental_vacuum per page, fail fast instead of parking writers on a full queue (review 2026-10-21 06/MEM-1)
2026-10-22 09:00:48 -04:00
Joseph Doherty
268b55e350
fix(auditlog): do not log a graceful-stop OperationCanceledException at Error in the telemetry drains (review 2026-10-21 06/COR-2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
15496575bc
fix(communication): release the _activeStreams slot when relay ActorOf throws (review 2026-10-21 03/M-2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
dd60e236bd
fix(communication): ReconcileSite threads the gRPC call's cancellation into central reconcile work (review 2026-10-21 03/P-1b)
2026-10-22 09:00:48 -04:00
Joseph Doherty
429ccb8d90
fix(communication): failback probe sentinel uses an illegal actor name so it can never match a real instance (review 2026-10-21 03/P-2 follow-up)
2026-10-22 09:00:48 -04:00
Joseph Doherty
82976b7377
fix(communication): streaming endpoint lookups are generation-fenced and cannot strand their in-flight guards (review 2026-10-21 03/R-2 follow-up)
2026-10-22 09:00:48 -04:00
Joseph Doherty
e0ebebac11
fix(communication): site-address load guard cannot wedge on an unexpected fault; lifecycle-cancelled loads log at Debug (review 2026-10-21 03/M-1 follow-up)
2026-10-22 09:00:48 -04:00
Joseph Doherty
4456a04e81
fix(communication): failback probation is time-boxed and cleared on address change (review 2026-10-21 03/P-2 follow-up)
2026-10-22 09:00:48 -04:00
Joseph Doherty
c5add11546
fix(communication): command-plane failback probes readiness with a real RPC; backoff resets only after a real call succeeds (review 2026-10-21 03/P-2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
017308a397
fix(communication): DebugStreamService drops the session on an InstanceNotFound snapshot (review 2026-10-21 03/M-3)
2026-10-22 09:00:48 -04:00
Joseph Doherty
90306f0ccb
fix(communication): streaming consumers re-resolve site gRPC addresses on every reopen; spec matches (review 2026-10-21 03/R-2, 03/D-2)
2026-10-22 09:00:48 -04:00
Joseph Doherty
3ed71167b3
fix(communication): site-address refresh gets an overlap guard, per-load deadline and monotonic sequence (review 2026-10-21 03/M-1)
2026-10-22 09:00:48 -04:00
Joseph Doherty
b0a97a4b67
fix(communication): malformed site gRPC address keeps the old channel, never aborts the refresh tick or restarts CentralCommunicationActor (review 2026-10-21 03/R-1)
2026-10-22 09:00:48 -04:00
Joseph Doherty
c6e4c7820a
fix(configdb): InstanceLocator single untracked projected join (review 2026-10-21 08/P7)
2026-10-22 08:33:09 -04:00
Joseph Doherty
1d00d5f469
fix(configdb): deterministic config-audit paging (review 2026-10-21 08/P5)
2026-10-22 08:33:09 -04:00
Joseph Doherty
036f341a9d
fix(configdb): opt-in config-audit retention purge + after-state size cap (review 2026-10-21 08/G1)
2026-10-22 08:33:09 -04:00
Joseph Doherty
394234b450
fix(dcl): advance the session generation when a reconnect attempt is issued, not when its result is applied (review 2026-10-21 02/C1 follow-up)
2026-10-22 08:33:00 -04:00
Joseph Doherty
d8d44e0b87
perf(dcl): coalesce MxGateway alarm stream reopens across a subscribe burst (review 2026-10-21 02/P3)
2026-10-22 08:33:00 -04:00
Joseph Doherty
e6406c494c
fix(dcl): async OPC UA endpoint discovery bounded by OperationTimeoutMs/verify budget; adapter connect never runs on the actor thread (review 2026-10-21 02/P2)
2026-10-22 08:33:00 -04:00
Joseph Doherty
cfe95a7e5a
fix(dcl): log the initial connect to Site Event Logging like every other transition (review 2026-10-21 02/U4)
2026-10-22 08:33:00 -04:00
Joseph Doherty
3543a7f295
fix(dcl): feed ScadaBridge:MxGateway:ClientNamePrefix into the MxGateway client-name fallback (review 2026-10-21 02/U1, 08/O2)
2026-10-22 08:33:00 -04:00
Joseph Doherty
f18d3adbfc
fix(dcl): forget an OPC UA condition's last state once it returns to normal (review 2026-10-21 02/L3)
2026-10-22 08:33:00 -04:00
Joseph Doherty
d51ea5136a
fix(dcl): drop values for unsubscribed tags before quality bookkeeping; cancel the reconnect re-seed when its session ends (review 2026-10-21 02/L2, 02/L4)
2026-10-22 08:33:00 -04:00
Joseph Doherty
8c1bd2c3fc
fix(dcl): advance the session generation on same-adapter reconnect and session-scope MxGateway subscription ids (review 2026-10-21 02/C1, 02/L1)
2026-10-22 08:33:00 -04:00
Joseph Doherty
b811a2451b
fix(dcl): remove unused poll-based WriteBatchAndWaitAsync from IDataConnection and both adapters (review 2026-10-21 02/U3)
2026-10-22 08:33:00 -04:00
Joseph Doherty
3169429c3f
fix(site-event-log): queries on own read connection off the actor thread, bounded keyword window; cap trim counts/vacuums rarely (review 2026-10-21 02/P1, 02/P4)
2026-10-22 08:32:37 -04:00
Joseph Doherty
d3cba15699
fix(store-and-forward): re-seed queue-depth gauge from DB on sweep, clamp at 0 (review 2026-10-21 02/C3)
2026-10-22 08:32:37 -04:00
Joseph Doherty
76f7960a06
fix(store-and-forward): page retry sweep per (category,target) lane; drop dead GetAllMessagesAsync (review 2026-10-21 02/C2, 02/U2)
2026-10-22 08:32:37 -04:00
Joseph Doherty
e968566e9d
fix(cli): no redirects on the management client, race-safe token refresh, verbose Basic-fallback note (review 2026-10-21 05/U1, 05/P1 L1/L2/L3/L4)
...
- CreateDefaultHttpClient sets AllowAutoRedirect=false so a 307/308 cannot re-POST the
/auth/token credential form elsewhere.
- A forced re-exchange after a 401 carries the refused token; inside the gate it reuses
a token another caller already re-exchanged instead of binding again. The BasicOnly
switch is written under the same gate.
- SCADABRIDGE_VERBOSE=1 prints a stderr note when a fresh token is refused and the CLI
falls back to Basic.
- debug stream's AccessTokenProvider retries the exchange once and documents the
null-token degradation (the hub refuses, automatic reconnect retries).
- Tests: concurrent refusal reuses the peer refresh (2 exchanges, not 3); real-socket
redirect is not followed.
2026-10-22 08:25:35 -04:00