This website requires JavaScript.
a4ba2dfe01
docs(notification-outbox): fix naming consistency and status-lifecycle clarity
Joseph Doherty
2026-05-18 23:07:17 -04:00
0388720390
docs(notification-outbox): add Component-NotificationOutbox design doc
Joseph Doherty
2026-05-18 23:04:17 -04:00
f177b58699
docs(plans): implementation plan for the notification outbox
Joseph Doherty
2026-05-18 23:01:30 -04:00
bbfa0c515e
docs(plans): fold refinement decisions into notification outbox design
Joseph Doherty
2026-05-18 22:57:45 -04:00
d4e86c1b1d
docs(plans): design for central notification outbox
Joseph Doherty
2026-05-18 22:54:17 -04:00
381eea63b1
refactor(central-ui): drop redundant Parent Template field from Template Properties
Joseph Doherty
2026-05-18 19:14:09 -04:00
06462a0100
feat(template-engine): contained names for composition-derived templates
Joseph Doherty
2026-05-18 17:50:30 -04:00
2d4b287ab2
docs(plans): design for contained names on composition-derived templates
Joseph Doherty
2026-05-18 17:37:43 -04:00
36c6036060
feat(central-ui): enlarge script modal; tab the Shared Script form
Joseph Doherty
2026-05-18 17:06:28 -04:00
e1a4ce4de8
refactor(central-ui): move script Trigger section into the tabbed panel
Joseph Doherty
2026-05-18 16:51:58 -04:00
01509a045f
feat(central-ui): add Min time between runs field to the script form
Joseph Doherty
2026-05-18 16:44:15 -04:00
437fe154e7
feat(triggers): add WhileTrue fire mode for Conditional/Expression script triggers
Joseph Doherty
2026-05-18 10:44:11 -04:00
19870d1f8f
docs(plans): design for WhileTrue conditional/expression trigger mode
Joseph Doherty
2026-05-18 10:30:22 -04:00
6139a65a7b
fix(site-runtime): fan tag updates out to every attribute sharing a tag path
Joseph Doherty
2026-05-18 04:21:26 -04:00
fa7b12c4a3
test(playwright): align E2E nav tests with current NavMenu
Joseph Doherty
2026-05-18 02:42:44 -04:00
579522c586
fix(security): make auth-cookie SecurePolicy configurable for HTTP-only deployments
Joseph Doherty
2026-05-18 02:34:02 -04:00
deedf45676
fix(docker): copy Directory.Packages.props into the build image
Joseph Doherty
2026-05-17 06:50:33 -04:00
1038683c58
test(integration): repair IntegrationTests harness and stale API-key test
Joseph Doherty
2026-05-17 06:46:47 -04:00
adf73ab116
test(host): configure ApiKeyPepper in CentralCompositionRootTests
Joseph Doherty
2026-05-17 06:36:04 -04:00
722773f2b5
docs(code-reviews): regenerate index — all 66 re-review findings resolved
Joseph Doherty
2026-05-17 05:43:08 -04:00
cfa8667c78
test(central-ui): fix test-host hang in CentralUI.Tests
Joseph Doherty
2026-05-17 05:43:05 -04:00
e55bd46ca1
fix(health-monitoring): resolve HealthMonitoring-015 — nullable LastReportReceivedAt
Joseph Doherty
2026-05-17 05:43:05 -04:00
7da303d7bb
fix(configuration-database): resolve ConfigurationDatabase-012 — store inbound-API keys as HMAC-SHA256 hashes
Joseph Doherty
2026-05-17 05:42:52 -04:00
f23513c30b
docs(code-reviews): regenerate index after resolving 64 of 66 re-review findings
Joseph Doherty
2026-05-17 03:18:47 -04:00
d6221419c6
fix(template-engine): resolve TemplateEngine-015,016 — cascade-rename nested derived templates, correct composed-script ParentPath
Joseph Doherty
2026-05-17 03:18:41 -04:00
0135a6b2a6
fix(store-and-forward): resolve StoreAndForward-015..017 — document maxRetries=0 contract, replicate operator retry/discard, real category in activity log
Joseph Doherty
2026-05-17 03:18:41 -04:00
be274212f0
fix(site-runtime): resolve SiteRuntime-017..019 — isolated attribute snapshot for child actors, corrected dispatcher doc, remove dead lifecycle handlers
Joseph Doherty
2026-05-17 03:18:41 -04:00
6d63fef934
fix(site-event-logging): resolve SiteEventLogging-012..014 — fault dropped-event tasks, escape LIKE wildcards, re-triage startup-purge finding (Won't Fix)
Joseph Doherty
2026-05-17 03:18:41 -04:00
a58cec5776
fix(security): resolve Security-012..015 — fail login on partial LDAP outage, escape-aware DN parsing, idle check on refresh, username normalization
Joseph Doherty
2026-05-17 03:18:33 -04:00
f5199e9da9
fix(notification-service): resolve NotificationService-014..018 — classify OAuth2 failures, fail on bad auth config, wire NotificationOptions fallback, disposable concurrency limiter
Joseph Doherty
2026-05-17 03:18:33 -04:00
bf6bd8de5a
fix(management-service): resolve ManagementService-014..017 — site-scope enforcement on QueryDeployments, atomic override validation, curated fault messages, test coverage
Joseph Doherty
2026-05-17 03:18:33 -04:00
73a393076a
fix(inbound-api): resolve InboundAPI-014..017 — return-value validation, reflection-gateway hardening, deadline-bound routed calls, RouteHelper test coverage
Joseph Doherty
2026-05-17 03:18:33 -04:00
aca65e85bb
fix(host): resolve Host-012..015 — consume DownIfAlone in HOCON, sub-second timing precision, config-driven Serilog sinks, transient-only startup retry
Joseph Doherty
2026-05-17 03:18:33 -04:00
eae4077414
fix(health-monitoring): resolve HealthMonitoring-013,014,016 — shorter-timeout cadence, options validation, injected TimeProvider; HealthMonitoring-015 left open (cross-module design decision)
Joseph Doherty
2026-05-17 03:18:24 -04:00
da8c9f171b
fix(external-system-gateway): resolve ExternalSystemGateway-015..017 — treat MaxRetries=0 as unset, scope HTTP connection cap to gateway clients, no bare trailing '?'
Joseph Doherty
2026-05-17 03:18:24 -04:00
4fa6f0e774
fix(deployment-manager): resolve DeploymentManager-015..017 — reconciliation applies post-success side effects, updates RevisionHash, corrected XML doc
Joseph Doherty
2026-05-17 03:18:24 -04:00
14ba5495d1
fix(data-connection-layer): resolve DataConnectionLayer-014..017 — real logger for OPC UA client, initial-connect failover, accurate subscribe response, per-tag write-batch results
Joseph Doherty
2026-05-17 03:18:24 -04:00
3d3f43229f
fix(configuration-database): resolve ConfigurationDatabase-013,014 — fail-fast on missing key ring, single converter local; ConfigurationDatabase-012 left open (cross-module design decision)
Joseph Doherty
2026-05-17 03:18:24 -04:00
a768135237
fix(communication): resolve Communication-012..015 — endpoint-aware gRPC client cache, address-change recreation, correlation-id validation, node-flip tests
Joseph Doherty
2026-05-17 03:18:17 -04:00
a78c3bcb6f
fix(commons): resolve Commons-013,014 — integral JSON index handling, distinguish Malformed vs Legacy OPC UA config
Joseph Doherty
2026-05-17 03:18:17 -04:00
21856a4be7
fix(cluster-infrastructure): resolve ClusterInfrastructure-009,010 — DownIfAlone consumption (via Host-012), validator enforces DownIfAlone=true
Joseph Doherty
2026-05-17 03:18:17 -04:00
d7d74ebe5e
fix(central-ui): resolve CentralUI-020..025 — auth-ping idle logout, DebugView race, push-handler disposal guard, JS-interop catch narrowing, claim-constant helper, SessionExpiry tests
Joseph Doherty
2026-05-17 03:18:16 -04:00
f82bcbed7c
fix(cli): resolve CLI-014..016 — re-triage update-command contract, doc-surface drift, table-column union
Joseph Doherty
2026-05-17 03:18:16 -04:00
0ba4e49e11
docs(code-reviews): re-review batch 4 at 39d737e — SiteEventLogging, SiteRuntime, StoreAndForward, TemplateEngine
Joseph Doherty
2026-05-17 00:51:58 -04:00
3b3760f026
docs(code-reviews): re-review batch 3 at 39d737e — Host, InboundAPI, ManagementService, NotificationService, Security
Joseph Doherty
2026-05-17 00:48:25 -04:00
89636e2bbf
docs(code-reviews): re-review batch 2 at 39d737e — ConfigurationDatabase, DataConnectionLayer, DeploymentManager, ExternalSystemGateway, HealthMonitoring
Joseph Doherty
2026-05-17 00:45:10 -04:00
e49846603e
docs(code-reviews): re-review batch 1 at 39d737e — CentralUI, CLI, ClusterInfrastructure, Commons, Communication
Joseph Doherty
2026-05-17 00:41:21 -04:00
39d737ebd6
docs(code-reviews): regenerate index — all low/medium findings resolved
Joseph Doherty
2026-05-17 00:04:56 -04:00
8dd74121c3
fix(inbound-api): resolve InboundAPI-012 — move ParameterDefinition POCO to ScadaLink.Commons (Types/InboundApi)
Joseph Doherty
2026-05-17 00:04:56 -04:00
34588ae10c
fix(central-ui): resolve CentralUI-006 — push-based deployment status via IDeploymentStatusNotifier, remove 10s polling timer
Joseph Doherty
2026-05-17 00:02:45 -04:00
a55502254e
fix(external-system-gateway): resolve ExternalSystemGateway-011 — name-keyed repository lookups replace fetch-all-then-filter on the call hot path
Joseph Doherty
2026-05-17 00:02:45 -04:00
1e2e7d2e7c
fix(central-ui): resolve CentralUI-005 — sliding cookie session expiry (Security AddCookie + AuthEndpoints + SessionExpiry)
Joseph Doherty
2026-05-16 23:54:31 -04:00
b1f4251d75
fix(commons): resolve Commons-008 — replace ValueTuple in SetConnectionBindingsCommand with named ConnectionBinding record (CLI, ManagementService, TemplateEngine, CentralUI)
Joseph Doherty
2026-05-16 23:54:31 -04:00
c583598888
fix(deployment-manager): resolve DeploymentManager-013 — document SMTP-credential artifact handling as a conscious accepted design decision
Joseph Doherty
2026-05-16 23:49:25 -04:00
a2f6c1b9b2
fix(inbound-api): resolve InboundAPI-007 — remove unimplemented Database.Connection() script API from design doc (conflicts with script trust model)
Joseph Doherty
2026-05-16 23:49:25 -04:00
3d0c1c6963
fix(host): resolve Host-002 — REQ-HOST-6 doc corrected to drop unused Akka.Persistence requirement
Joseph Doherty
2026-05-16 23:49:25 -04:00
13a33a6c78
docs(code-reviews): regenerate index after batch 4 low/medium fixes
Joseph Doherty
2026-05-16 22:32:31 -04:00
adb5e75ec3
fix(template-engine): resolve TemplateEngine-011,013,014 — remove dead converter, duplicate-id-safe cycle detection, unified deletion logic; TemplateEngine-012 deferred
Joseph Doherty
2026-05-16 22:32:30 -04:00
9e2416b34c
fix(store-and-forward): resolve StoreAndForward-006,007,008,009 — transactional parked reads, PipeTo, fault-isolated activity events; 002/011/012 deferred
Joseph Doherty
2026-05-16 22:32:30 -04:00
dd7626da63
fix(site-runtime): resolve SiteRuntime-012,013,015,016 — doc accuracy, shared LoggerFactory, execution-actor coverage; SiteRuntime-014 deferred
Joseph Doherty
2026-05-16 22:32:30 -04:00
b1ea78a9fd
fix(site-event-logging): resolve SiteEventLogging-006,009,011 — severity index, accurate XML doc, dead-placeholder removal
Joseph Doherty
2026-05-16 22:32:30 -04:00
a3d359fff7
docs(code-reviews): regenerate index after batch 3 low/medium fixes
Joseph Doherty
2026-05-16 22:24:03 -04:00
84a696b0e4
fix(security): resolve Security-009,010,011 — LDAP connection timeout, design-doc correction, security-path test coverage; Security-008 deferred
Joseph Doherty
2026-05-16 22:24:03 -04:00
a9bd017c88
fix(notification-service): resolve NotificationService-010,011,012 — disconnect SMTP on failure, relocate exception type, OAuth2/token-cache test coverage
Joseph Doherty
2026-05-16 22:24:03 -04:00
dab0056d1b
fix(management-service): resolve ManagementService-005,008,010,011 — supervision strategy, configured command timeout, remove stale ResolveRoles path; ManagementService-012 deferred
Joseph Doherty
2026-05-16 22:24:03 -04:00
858fe24add
fix(inbound-api): resolve InboundAPI-009,010,011,013 — cache failed compiles, reject unknown body fields, close enumeration oracle, drop misnamed factory; InboundAPI-007,012 flagged
Joseph Doherty
2026-05-16 22:24:03 -04:00
8664cdf940
fix(host): resolve Host-005..011 — async startup, HOCON escaping, port-conflict check, dead-config cleanup, migration retry, log-level wiring; Host-002 flagged
Joseph Doherty
2026-05-16 22:24:03 -04:00
3f19371017
docs(code-reviews): regenerate index after batch 2 low/medium fixes
Joseph Doherty
2026-05-16 22:14:46 -04:00
2d7ac5b57f
fix(health-monitoring): resolve HealthMonitoring-004,006,010,011,012 — heartbeat-doc accuracy, testable sequence seeding, logged failures, dead-code removal
Joseph Doherty
2026-05-16 22:14:23 -04:00
e57ccd78b7
fix(external-system-gateway): resolve ExternalSystemGateway-012,013,014 — failure logging, connection-limit wiring, test coverage; ExternalSystemGateway-011 flagged
Joseph Doherty
2026-05-16 22:14:23 -04:00
e9ee4e3ea5
fix(deployment-manager): resolve DeploymentManager-009,010,012,014 — shared deployment ID, lifecycle-timeout enforcement, doc/test cleanup; DeploymentManager-013 flagged
Joseph Doherty
2026-05-16 22:14:23 -04:00
ff4a4bdeb7
fix(data-connection-layer): resolve DataConnectionLayer-008,013 — O(1) unsubscribe via reverse index, atomic disconnect guard
Joseph Doherty
2026-05-16 22:14:23 -04:00
7d1cc5cbb4
fix(configuration-database): resolve ConfigurationDatabase-005,006,008,009,010,011 — bounded gRPC columns, split queries, CSV-parse logging, null guards, coverage
Joseph Doherty
2026-05-16 22:14:23 -04:00
25a05af05d
docs(code-reviews): regenerate index after batch 1 low/medium fixes
Joseph Doherty
2026-05-16 22:04:44 -04:00
0b4c1563aa
fix(communication): resolve Communication-009,010,011 — atomic site-cache refresh, XML doc correction, test coverage
Joseph Doherty
2026-05-16 22:04:21 -04:00
c07f524ca4
fix(commons): resolve Commons-005..007,009..012 — OPC UA parse status, TryConvert correctness, Result null guard, invariant formatting, doc refresh
Joseph Doherty
2026-05-16 22:04:21 -04:00
746ab90444
fix(cluster-infrastructure): resolve ClusterInfrastructure-005,007,008 — confirm config-section constant, XML docs, phase-status cleanup
Joseph Doherty
2026-05-16 22:04:21 -04:00
d7b275fc9b
fix(central-ui): resolve CentralUI-015..019 — pager windowing, logout CSRF, narrowed catch blocks, coverage; CentralUI-015 re-triaged Won't Fix
Joseph Doherty
2026-05-16 22:04:21 -04:00
404216b4ee
fix(cli): resolve CLI-008..013 — format validation, exit-code semantics, debug-stream cancellation/disposal, test coverage
Joseph Doherty
2026-05-16 22:04:21 -04:00
bc88a36435
docs(code-reviews): regenerate index after batch 4 medium fixes
Joseph Doherty
2026-05-16 21:44:11 -04:00
804697f873
fix(template-engine): resolve TemplateEngine-006..010 — code-region-aware API/brace scanning, composed-alarm override validation, N+1 fix, doc correction
Joseph Doherty
2026-05-16 21:44:11 -04:00
5672502d83
fix(store-and-forward): resolve StoreAndForward-004,005,010,013 — accurate handler-contract doc, conditional sweep writes, reset LastAttemptAt on parked retry, test coverage
Joseph Doherty
2026-05-16 21:44:10 -04:00
a88bec9376
fix(site-runtime): resolve SiteRuntime-004..011 — deploy-after-persist, remove reflection, deterministic IDs, non-blocking startup, dedicated script scheduler, config-change detection, semantic trust-model check
Joseph Doherty
2026-05-16 21:44:10 -04:00
24a4a2d165
fix(site-event-logging): resolve SiteEventLogging-005,007,008,010 — background async writer, drop concrete downcast, surface write failures, test coverage
Joseph Doherty
2026-05-16 21:44:10 -04:00
632d44f38c
fix(host,deployment-manager,communication): repair cross-module DI regressions from batch 1-2
Joseph Doherty
2026-05-16 21:28:50 -04:00
49fb85e92e
docs(code-reviews): regenerate index after batch 3 medium fixes
Joseph Doherty
2026-05-16 21:22:01 -04:00
30ebbdd183
fix(security): resolve Security-004..007 — configurable user-id attribute, DN escaping, JWT issuer/audience validation, idle-timeout preservation
Joseph Doherty
2026-05-16 21:22:01 -04:00
a702cb96a8
fix(notification-service): resolve NotificationService-005..009 — explicit TLS modes, per-credential token cache, timeout/throttle, address validation, credential redaction
Joseph Doherty
2026-05-16 21:22:01 -04:00
57679d49f2
fix(management-service): resolve ManagementService-004,006,007,013 — PipeTo dispatch, JsonDocument disposal, unified serialization, endpoint tests; re-triage MS-009
Joseph Doherty
2026-05-16 21:22:01 -04:00
da955042aa
fix(inbound-api): resolve InboundAPI-002,004,006,008 — disconnect vs timeout, body size limit, active-node gate; surface InboundAPI-007
Joseph Doherty
2026-05-16 21:22:01 -04:00
6563511b5f
fix(host): resolve Host-003,004 — replace plaintext secrets with env placeholders, validate site seed-node ports; re-triage Host-002
Joseph Doherty
2026-05-16 21:22:01 -04:00
016bdf9c3c
docs(code-reviews): regenerate index after batch 2 medium fixes
Joseph Doherty
2026-05-16 21:11:24 -04:00
9f634e37c3
fix(health-monitoring): resolve HealthMonitoring-003..009 — central offline grace, register unknown-site heartbeats, test coverage
Joseph Doherty
2026-05-16 21:11:24 -04:00
2502e4d10a
fix(external-system-gateway): resolve ExternalSystemGateway-004..010 — honour retry settings, dispose HTTP messages, fix URL building, truncate error bodies, fix connection leak
Joseph Doherty
2026-05-16 21:11:24 -04:00
8c67ffad2a
fix(deployment-manager): resolve DeploymentManager-003..011 — atomic status commit, orphan-delete handling, semaphore reclamation, structured diff, options binding, lifecycle test coverage
Joseph Doherty
2026-05-16 21:11:24 -04:00
c9b236e507
fix(data-connection): resolve DataConnectionLayer-006..012 — quality-counter reconciliation, per-tag batch reads, configurable failover threshold, dedup retry, stale-callback guard, secure cert default
Joseph Doherty
2026-05-16 21:11:24 -04:00
0c82ffcbe6
fix(configuration-database): resolve ConfigurationDatabase-002..007 — remove hardcoded sa creds, fail-fast no-arg DI, encrypt secret columns, resilient audit serialization
Joseph Doherty
2026-05-16 21:11:24 -04:00
8fc04d43c2
docs(code-reviews): regenerate index after batch 1 medium fixes; fix CentralUI-014 severity field format
Joseph Doherty
2026-05-16 20:58:29 -04:00
31a6995d24
fix(communication): resolve Communication-004..008 — Resume supervision, gRPC option wiring, address-load logging, sync dispose, flap detection
Joseph Doherty
2026-05-16 20:58:03 -04:00
3e7a3d7e31
fix(commons): resolve Commons-001..004 — stale-fire race, JsonDocument lifetime, GetNullable strictness, registry symmetry
Joseph Doherty
2026-05-16 20:58:03 -04:00