Commit Graph

  • 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