Commit Graph

  • 113f00a6fa docs(plans): design for Notifications nav group Joseph Doherty 2026-05-19 05:01:58 -04:00
  • 17861efa51 test(notification-outbox): assert NotNull in SourceScript negative test Joseph Doherty 2026-05-19 03:57:38 -04:00
  • 558f9ceb39 feat(notification-outbox): populate SourceScript on outbound notifications Joseph Doherty 2026-05-19 03:54:09 -04:00
  • a5653b4296 refactor(notification-outbox): drop unused state from sandbox Notify fakes Joseph Doherty 2026-05-19 03:49:54 -04:00
  • c8b5871782 fix(notification-outbox): re-align Central UI sandbox Notify API with production Joseph Doherty 2026-05-19 03:44:34 -04:00
  • 4b61e29e27 refactor(notification-outbox): extract EmailAddressValidator helper, drop orphaned using Joseph Doherty 2026-05-19 03:39:05 -04:00
  • 5e80f64cd8 refactor(notification-outbox): share SMTP helpers between NotificationService and the Email adapter Joseph Doherty 2026-05-19 03:34:22 -04:00
  • 213b9c7c0a test(notification-outbox): end-to-end outbox flow integration test Joseph Doherty 2026-05-19 03:13:37 -04:00
  • af22aa7ce1 refactor(notification-outbox): clarify Health outbox-KPI seed value Joseph Doherty 2026-05-19 03:09:44 -04:00
  • 9e7bc7b541 feat(notification-outbox): add outbox KPI tiles to Health dashboard Joseph Doherty 2026-05-19 03:05:41 -04:00
  • 9b05e48ea6 test(notification-outbox): cover Discard and query-failure paths on the Outbox page Joseph Doherty 2026-05-19 03:02:48 -04:00
  • ad9872705d feat(notification-outbox): add Notification Outbox UI page Joseph Doherty 2026-05-19 02:58:49 -04:00
  • afdf581e32 feat(notification-outbox): add CommunicationService outbox methods Joseph Doherty 2026-05-19 02:51:11 -04:00
  • 1d495d1a87 feat(notification-outbox): register NotificationOutbox singleton in Host Joseph Doherty 2026-05-19 02:44:32 -04:00
  • 2ff62a2ceb feat(notification-outbox): route NotificationSubmit to the outbox actor Joseph Doherty 2026-05-19 02:38:04 -04:00
  • b88c75c116 docs(plans): track Task 19 follow-ups (site DI cleanup, sandbox API, SourceScript) Joseph Doherty 2026-05-19 02:35:47 -04:00
  • 3326bddeb0 feat(notification-outbox): async Notify.Send with status handle Joseph Doherty 2026-05-19 02:30:51 -04:00
  • 05614e037a fix(notification-outbox): fall back to Target for empty notification list name Joseph Doherty 2026-05-19 02:21:22 -04:00
  • 6a77c12735 feat(notification-outbox): forward site S&F notifications to central Joseph Doherty 2026-05-19 02:16:27 -04:00
  • 703cb2d392 feat(notification-outbox): add AddNotificationOutbox DI registration Joseph Doherty 2026-05-19 02:07:29 -04:00
  • 517437b0d9 refactor(notification-outbox): make purge fault-handling symmetric with dispatch Joseph Doherty 2026-05-19 02:01:48 -04:00
  • 41358c1cee feat(notification-outbox): add daily terminal-row purge Joseph Doherty 2026-05-19 01:58:19 -04:00
  • 77a05a8960 fix(notification-outbox): give KPI response a failure shape; log status-query faults Joseph Doherty 2026-05-19 01:55:46 -04:00
  • 82e3eb0e93 feat(notification-outbox): add query, retry, discard, and KPI handlers Joseph Doherty 2026-05-19 01:50:20 -04:00
  • ab3721a2e8 fix(notification-outbox): clear dispatch in-flight flag on a faulted pass Joseph Doherty 2026-05-19 01:45:09 -04:00
  • c41f43c87f feat(notification-outbox): add dispatcher loop to NotificationOutboxActor Joseph Doherty 2026-05-19 01:42:28 -04:00
  • 4dc9f9e159 feat(notification-outbox): add NotificationOutboxActor ingest Joseph Doherty 2026-05-19 01:36:13 -04:00
  • 435c853dce docs(plans): track SMTP-helper deduplication follow-up Joseph Doherty 2026-05-19 01:33:21 -04:00
  • 04e00d56c6 test(notification-outbox): cover Email adapter permanent/cancellation arms, align error casing Joseph Doherty 2026-05-19 01:32:54 -04:00
  • b8dece0e70 feat(notification-outbox): add Email notification delivery adapter Joseph Doherty 2026-05-19 01:26:33 -04:00
  • 8d52890245 feat(notification-outbox): add NotificationOutboxOptions and delivery adapter abstraction Joseph Doherty 2026-05-19 01:20:49 -04:00
  • fb589bf1da feat(notification-outbox): scaffold ScadaLink.NotificationOutbox project Joseph Doherty 2026-05-19 01:16:58 -04:00
  • c547f82957 feat(notification-outbox): add notification message and outbox query contracts Joseph Doherty 2026-05-19 01:13:36 -04:00
  • 6056ad58b0 fix(notification-outbox): backfill NotificationLists.Type with a valid enum value in migration Joseph Doherty 2026-05-19 01:10:15 -04:00
  • 5696a8af9f feat(notification-outbox): add Notifications table migration Joseph Doherty 2026-05-19 01:07:30 -04:00
  • 07cd185368 refactor(notification-outbox): align outbox repository with cancellationToken convention Joseph Doherty 2026-05-19 01:05:52 -04:00
  • 2c59d59b61 feat(notification-outbox): add NotificationOutbox repository Joseph Doherty 2026-05-19 01:02:06 -04:00
  • 3022aa8379 style(notification-outbox): align NotificationOutboxConfiguration with sibling config style Joseph Doherty 2026-05-19 00:58:50 -04:00
  • 761595309b feat(notification-outbox): add Notification EF configuration and DbSet Joseph Doherty 2026-05-19 00:55:58 -04:00
  • 87ac9b8a4d feat(notification-outbox): add Type field to NotificationList Joseph Doherty 2026-05-19 00:52:23 -04:00
  • ed7fddb0b5 test(notification-outbox): cover all Notification constructor null guards Joseph Doherty 2026-05-19 00:50:52 -04:00
  • 397a62677f feat(notification-outbox): add Notification entity Joseph Doherty 2026-05-19 00:48:48 -04:00
  • 926ca902bd test(notification-outbox): fold notification enum tests into EnumTests convention Joseph Doherty 2026-05-19 00:47:23 -04:00
  • f9b942bb94 feat(notification-outbox): add NotificationType and NotificationStatus enums Joseph Doherty 2026-05-19 00:45:05 -04:00
  • dff9e0aa76 docs(plans): code implementation plan for the notification outbox Joseph Doherty 2026-05-19 00:39:10 -04:00
  • f2513a4ef4 docs(notification-outbox): fix stale message-pattern count and tree alignment Joseph Doherty 2026-05-18 23:52:10 -04:00
  • c8b8cd9150 docs(notification-outbox): merge duplicate S&F dependency bullet, standardize cross-ref Joseph Doherty 2026-05-18 23:48:59 -04:00
  • bb35453d58 docs(notification-outbox): fix stale cross-references after outbox addition Joseph Doherty 2026-05-18 23:45:43 -04:00
  • ba166bf503 docs(notification-outbox): split UI bullet, fix outbox-vs-S&F wording in CLAUDE.md Joseph Doherty 2026-05-18 23:41:32 -04:00
  • 7585612347 docs(notification-outbox): split overstuffed CLAUDE.md design-decision bullet Joseph Doherty 2026-05-18 23:40:01 -04:00
  • b9e0ef4650 docs(notification-outbox): update component list and design decisions in CLAUDE.md Joseph Doherty 2026-05-18 23:38:28 -04:00
  • aac3ee9bb3 docs(notification-outbox): add Notification Outbox to README component index Joseph Doherty 2026-05-18 23:35:38 -04:00
  • 097bb3361e docs(notification-outbox): polish Task 8 docs — purge basis, message-contract naming, density Joseph Doherty 2026-05-18 23:34:40 -04:00
  • ef4614d710 docs(notification-outbox): clarify purge is a repository operation, not job ownership Joseph Doherty 2026-05-18 23:32:07 -04:00
  • bb5519f6f2 docs(notification-outbox): add Notifications table, entity, and message contracts Joseph Doherty 2026-05-18 23:30:16 -04:00
  • d7a16084b5 docs(notification-outbox): add Notification Outbox page to Central UI Joseph Doherty 2026-05-18 23:25:41 -04:00
  • f2d710a9dc docs(notification-outbox): add Notification Submission communication pattern Joseph Doherty 2026-05-18 23:22:33 -04:00
  • 0dd3be0bd8 docs(notification-outbox): trim Site Event Logging notification row, de-duplicate rationale Joseph Doherty 2026-05-18 23:21:23 -04:00
  • a59f5ec1ff docs(notification-outbox): add Notification category to Site Event Logging Joseph Doherty 2026-05-18 23:19:27 -04:00
  • 6ccf3766dc docs(notification-outbox): add central-computed outbox KPIs to Health Monitoring Joseph Doherty 2026-05-18 23:17:07 -04:00
  • 0b56c809e1 docs(notification-outbox): polish S&F naming consistency and prose Joseph Doherty 2026-05-18 23:15:59 -04:00
  • b83d16364a docs(notification-outbox): retarget S&F notification category to central Joseph Doherty 2026-05-18 23:13:17 -04:00
  • 2a7e7289b3 docs(notification-outbox): polish Notification Service prose and heading scope Joseph Doherty 2026-05-18 23:12:02 -04:00
  • 0f96562bfd docs(notification-outbox): central-only Notification Service, typed lists, async API Joseph Doherty 2026-05-18 23:09:29 -04:00
  • 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