Commit Graph

  • 80b19d6fc8 chore(uns): create-redirect null guard + alarm isolation test + alarm-authoring doc (final review) Joseph Doherty 2026-06-11 15:23:06 -04:00
  • a0f3f4ab89 docs(uns): document the equipment page tabs; repoint alarm-editing surface Joseph Doherty 2026-06-11 15:14:09 -04:00
  • f1c4392b0d refactor(uns): drop dead LoadEquipmentChildrenAsync + LinesForCluster; fix stale comment Joseph Doherty 2026-06-11 15:11:28 -04:00
  • 6e7127c396 feat(uns): remove standalone scripted-alarm pages + nav link (alarms now per-equipment) Joseph Doherty 2026-06-11 15:06:13 -04:00
  • f1b9e7116b fix(uns): guard ScriptedAlarmModal form rebuild against stray re-renders (code-review) Joseph Doherty 2026-06-11 15:03:43 -04:00
  • 826ffdc1a0 feat(uns): equipment is a tree leaf linking to the detail page; drop EquipmentModal Joseph Doherty 2026-06-11 15:01:10 -04:00
  • 773c073d0e feat(uns): Alarms tab + ScriptedAlarmModal on the equipment page Joseph Doherty 2026-06-11 14:53:03 -04:00
  • 1294fb6ee5 fix(uns): surface stale-row edits + dismiss modal on delete + @key rows (code-review) Joseph Doherty 2026-06-11 14:49:23 -04:00
  • 61ad5ab8cc feat(uns): wire Tags + Virtual Tags tabs on the equipment page (reuse modals) Joseph Doherty 2026-06-11 14:44:35 -04:00
  • 7fbfeca451 feat(uns): equipment detail page shell + Details tab + create-redirect Joseph Doherty 2026-06-11 14:36:48 -04:00
  • 5cae3c5b96 fix(uns): guard scripted-alarm name uniqueness on create/update (code-review) Joseph Doherty 2026-06-11 14:31:35 -04:00
  • 705ed6234f feat(uns): scripted-alarm CRUD in IUnsTreeService for the equipment Alarms tab Joseph Doherty 2026-06-11 14:25:59 -04:00
  • 7c22861598 feat(uns): per-equipment tag/virtual-tag list service methods Joseph Doherty 2026-06-11 14:19:46 -04:00
  • 7d91737dac feat(uns): carry created id on UnsMutationResult for equipment create Joseph Doherty 2026-06-11 14:16:21 -04:00
  • 1f904c4502 docs(uns): implementation plan + tasks for tabbed equipment detail page Joseph Doherty 2026-06-11 14:12:42 -04:00
  • df2a488b81 docs(uns): design for tabbed equipment detail page Joseph Doherty 2026-06-11 14:03:21 -04:00
  • 6208304a44 docs(historian): HistorizeToAveva opt-out semantics + config knobs + startup validation Joseph Doherty 2026-06-11 13:24:46 -04:00
  • 7f535c0e9d test(historian): cover non-positive DeadLetterRetentionDays validation warning Joseph Doherty 2026-06-11 13:24:46 -04:00
  • 56750e110f fix(alarms): historize the real operator for shelve/unshelve/enable/disable transitions Joseph Doherty 2026-06-11 13:14:00 -04:00
  • 5ea6e9d7d9 fix(historian): validate non-positive drain/capacity/retention knobs (review) + log prefix Joseph Doherty 2026-06-11 13:09:13 -04:00
  • f215982b93 feat(historian): drain/capacity/retention config knobs + startup config-warning validation Joseph Doherty 2026-06-11 13:04:16 -04:00
  • 61b230d79a harden(historian): nullable HistorizeToAveva (missing→historize) for rolling-restart-safe deserialize + middle-link test Joseph Doherty 2026-06-11 13:00:57 -04:00
  • c20d228384 fix(historian): volatile _backoffIndex + read _evictedCount under lock (thread-safety) Joseph Doherty 2026-06-11 12:49:44 -04:00
  • 8012509584 feat(historian): honor per-alarm HistorizeToAveva opt-out at the durable write Joseph Doherty 2026-06-11 12:48:13 -04:00
  • fa839d1dbf docs(plan): alarm historian follow-ups (pending #1-6) implementation plan Joseph Doherty 2026-06-11 12:42:54 -04:00
  • f64f7ce669 fix(alarms): historize the operator (not 'system') for CommentAdded transitions (review) Joseph Doherty 2026-06-11 11:42:56 -04:00
  • 6dbd4fb875 docs(historian): alerts-fed historization (scripted, Primary-gated, exactly-once) + config-gated Sqlite→Wonderware sink Joseph Doherty 2026-06-11 11:36:37 -04:00
  • 943c621371 feat(historian): config-gated SqliteStoreAndForward→Wonderware sink (AddAlarmHistorian) Joseph Doherty 2026-06-11 11:30:31 -04:00
  • e9355e9514 refactor(historian): gate before translate (no discarded alloc on secondary) + strengthen double-write warning (review) Joseph Doherty 2026-06-11 11:24:48 -04:00
  • bb42e5834a feat(historian): subscribe to alerts topic + translate to AlarmHistorianEvent (Primary-gated, exactly-once) Joseph Doherty 2026-06-11 11:18:26 -04:00
  • d2cc4a1222 test+docs(galaxy): verify alarm acknowledger recovers after transient fault; document alarm-client reconnect Joseph Doherty 2026-06-11 11:12:49 -04:00
  • 8ac3ac5be9 feat(alarms): carry AlarmTypeName + operator Comment on AlarmTransitionEvent (historian feed prep) Joseph Doherty 2026-06-11 11:03:00 -04:00
  • cd72f79ef4 docs(plan): alarm follow-ups round 2 implementation plan (T0-T5) Joseph Doherty 2026-06-11 10:56:25 -04:00
  • 3ad7960dc2 docs(design): alarm follow-ups round 2 (historian alerts-feeder + Galaxy reconnect verify) Joseph Doherty 2026-06-11 10:51:55 -04:00
  • 521ee75355 docs: redundancy primary-only alarm emission/historization, redundancy-state NodeId+heartbeat fixes, Galaxy reconnect, live-pill Joseph Doherty 2026-06-11 10:18:25 -04:00
  • 7891e28b52 fix(redundancy): periodic heartbeat re-publish so late subscribers learn their role Joseph Doherty 2026-06-11 10:06:46 -04:00
  • e241332a24 fix(redundancy): key redundancy-state snapshot by canonical host:port NodeId (was host-only — broke ServiceLevel + scripted-alarm emit gate) Joseph Doherty 2026-06-11 09:56:17 -04:00
  • 23a4a0093b fix(adminui): guard Alerts chip auto-clear against stale-timer race (review) Joseph Doherty 2026-06-11 09:38:58 -04:00
  • 19ec656cdc feat(adminui): ScriptLog live-pill bound to broadcaster health Joseph Doherty 2026-06-11 09:37:19 -04:00
  • d29c933499 feat(adminui): Alerts timed-shelve picker + chip auto-clear + live-pill health Joseph Doherty 2026-06-11 09:34:33 -04:00
  • f9932f2d8e refactor(admin): use CorrelationId wrapper for alarm ack/shelve commands Joseph Doherty 2026-06-11 09:27:24 -04:00
  • 3a0e0907e4 feat(adminui): add connection-health signal to in-process broadcaster + bridges Joseph Doherty 2026-06-11 09:20:36 -04:00
  • 565b77e6cf fix(galaxy): unify IsConnected with _connected guard; AttachForTests marks connected (review) Joseph Doherty 2026-06-11 09:16:51 -04:00
  • 43b96441a5 fix(galaxy): reconnect recreates a faulted session instead of no-op'ing Joseph Doherty 2026-06-11 09:10:52 -04:00
  • 4f291ed09c test(redundancy): cover absent-node default-historize for HistorianAdapter (A2) Joseph Doherty 2026-06-11 09:02:02 -04:00
  • 0742946108 feat(redundancy): gate alarm historization on Primary (A2, defensive — actor currently unfed) Joseph Doherty 2026-06-11 08:57:41 -04:00
  • 9ac9f0b7a9 test(redundancy): cover Detached suppression + absent-node default-emit (A1) Joseph Doherty 2026-06-11 08:50:59 -04:00
  • 06c415598c feat(redundancy): gate scripted-alarm alerts publish on Primary (A1) Joseph Doherty 2026-06-11 08:44:44 -04:00
  • 535787bd85 docs(plan): alarm follow-ups implementation plan (T0-T10) Joseph Doherty 2026-06-11 08:28:37 -04:00
  • bcb9f45cb3 docs(design): alarm ack/shelve follow-ups (redundancy double-emit, Timed-shelve UI, T21 minors, rig cleanup, Galaxy reconnect, live-pill) Joseph Doherty 2026-06-11 08:23:58 -04:00
  • bc9843d2bd docs(plan): mark T17-T24 inbound-ack complete + merged-to-master Joseph Doherty 2026-06-11 08:08:37 -04:00
  • 87e433871e docs: document inbound alarm ack/shelve (AlarmAck gate, alarm-commands, AdminUI/CLI) + remove scratch files Joseph Doherty 2026-06-11 07:49:41 -04:00
  • d860b0d8a6 fix(adminui): dispose Alerts CTS + self-render ShowOpResult (T21 review) Joseph Doherty 2026-06-11 06:50:06 -04:00
  • 370a2b7b48 feat(alerts): AdminUI alarm ack/shelve via AdminOperationsActor singleton Joseph Doherty 2026-06-11 06:44:27 -04:00
  • f742050ebd docs(opcua): explain intentional CommentAdded/Retain delta-gate suppression (T20 review) Joseph Doherty 2026-06-11 06:38:31 -04:00
  • 1d7e2a0f8b fix(runtime): reject empty AddComment instead of silently swallowing it Joseph Doherty 2026-06-11 06:32:53 -04:00
  • 004558c241 fix(alarms): delta-gate WriteAlarmCondition to suppress inbound ack double-emit (T20) Joseph Doherty 2026-06-11 06:26:48 -04:00
  • 4f7999eac2 feat(alarms): consume alarm-commands topic in ScriptedAlarmHostActor (T19) Joseph Doherty 2026-06-11 06:23:08 -04:00
  • 1784eedd3f fix(opcua): exempt OnTimedUnshelve from the client AlarmAck gate (system-initiated) Joseph Doherty 2026-06-11 06:16:30 -04:00
  • 63289d377c feat(alarms): route inbound Part 9 alarm methods through AlarmAck gate (T18) Joseph Doherty 2026-06-11 06:05:39 -04:00
  • ac5db0a9f8 fix(client): TimedShelve milliseconds + shelve node guard + service-layer tests Joseph Doherty 2026-06-11 05:57:40 -04:00
  • 4b38a9d8c8 harden(security): freeze RoleCarryingUserIdentity.Roles to a defensive copy Joseph Doherty 2026-06-11 05:53:11 -04:00
  • 1f172e55f7 feat(client-cli): add ack/confirm/shelve alarm commands with service layer Joseph Doherty 2026-06-11 05:46:25 -04:00
  • a6fed85ac9 feat(security): carry LDAP roles onto session identity (T17) Joseph Doherty 2026-06-11 05:42:27 -04:00
  • 2b890fa716 docs(plan): re-scope script-log Layer 2 inbound-ack into T17-T24 Joseph Doherty 2026-06-11 05:37:54 -04:00
  • 74e1abdf32 docs(plan): record disable-login feature merged to master (2ad1dbc8) Joseph Doherty 2026-06-11 05:37:54 -04:00
  • 2ad1dbc894 fix(security): AutoLoginAuthenticationHandler no-op sign-in/out (avoid 500 on /auth/logout when flag on) Joseph Doherty 2026-06-11 04:45:29 -04:00
  • 82fec753c8 feat(security): wire Security:Auth:DisableLogin into AddOtOpcUaAuth Joseph Doherty 2026-06-11 04:39:23 -04:00
  • caeaae21f9 feat(security): AutoLoginAuthenticationHandler for dev login bypass Joseph Doherty 2026-06-11 04:31:07 -04:00
  • a27e82c8d1 chore(dev): Security:Auth:DisableLogin default off; enable in docker-dev central nodes Joseph Doherty 2026-06-11 04:29:47 -04:00
  • a92ba6a10b feat(security): add AuthDisableLoginOptions + DevAuthRoles for dev login bypass Joseph Doherty 2026-06-11 04:26:20 -04:00
  • bc31b6a4de docs(adminui): implementation plan for Security:Auth:DisableLogin dev flag Joseph Doherty 2026-06-11 04:24:00 -04:00
  • 789176738f docs(adminui): design for Security:Auth:DisableLogin dev flag Joseph Doherty 2026-06-11 04:19:43 -04:00
  • 43e8a37ded chore(plan): mark T0-T16 complete; T17-T20 deferred (Layer 2 partial) Joseph Doherty 2026-06-11 01:25:17 -04:00
  • 4c417f7fb8 fix(scripted-alarms): log failed event-report via SDK trace + correct sink doc (T16 review) Joseph Doherty 2026-06-10 19:53:33 -04:00
  • 295bb55dc6 feat(scripted-alarms): fire Part 9 condition events on transition (T16) Joseph Doherty 2026-06-10 19:50:09 -04:00
  • ab5d0752d8 fix(scripted-alarms): atomic alarm-condition lookup under Lock (T15 review) Joseph Doherty 2026-06-10 19:45:24 -04:00
  • 4eb1d65e2b feat(scripted-alarms): richer AlarmConditionState bridge to the OPC UA node (T15) Joseph Doherty 2026-06-10 19:41:16 -04:00
  • b31d7cb03f fix(scripted-alarms): lock CreateVariable + RemoveRootNotifier on rebuild (T14 review) Joseph Doherty 2026-06-10 19:26:01 -04:00
  • 60d48a2a0a feat(scripted-alarms): materialise real Part 9 AlarmConditionState nodes (T14) Joseph Doherty 2026-06-10 19:19:10 -04:00
  • 4217b213b0 docs(scripted-alarms): F14b OPC UA Part 9 SDK research notes (T13) Joseph Doherty 2026-06-10 18:19:52 -04:00
  • a8640a9331 test(scripted-alarms): cover bootstrap-restore path forwarding alarms (T10 review) Joseph Doherty 2026-06-10 15:24:39 -04:00
  • fc0d43a3dc refactor(scripted-alarms): retire orphaned ScriptedAlarmActor + F9b evaluator (T11) Joseph Doherty 2026-06-10 15:22:26 -04:00
  • 5256761368 feat(scripted-alarms): spawn + apply ScriptedAlarmHostActor in DriverHostActor (T10) Joseph Doherty 2026-06-10 15:17:29 -04:00
  • dafaf2faec fix(scripted-alarms): ScriptedAlarmHostActor review fixes — load-gen guard, quiet cancel, parse guard (T9 review) Joseph Doherty 2026-06-10 15:08:54 -04:00
  • 3b418a54f1 feat(scripted-alarms): ScriptedAlarmHostActor — engine runtime host (T9) Joseph Doherty 2026-06-10 14:57:42 -04:00
  • c9590c03d0 fix(scripted-alarms): harden artifact boolean decode + direct helper tests (T6 review) Joseph Doherty 2026-06-10 14:47:24 -04:00
  • 8e8ca9efe8 feat(scripted-alarms): DeploymentArtifact byte-parity for the alarm plan (T6) Joseph Doherty 2026-06-10 14:41:46 -04:00
  • 55101baaa4 refactor(scripted-alarms): review-fix polish for T5/T7/T8 (observer isolation, warning hoist, doc) Joseph Doherty 2026-06-10 14:32:49 -04:00
  • b28c6bdb62 feat(scripted-alarms): EquipmentScriptedAlarmPlan + Phase7Composer enrichment (T5) Joseph Doherty 2026-06-10 14:21:28 -04:00
  • 1c96fe0be0 feat(scripted-alarms): EfAlarmConditionStateStore (T8) Joseph Doherty 2026-06-10 14:21:19 -04:00
  • 945ccd0b85 feat(scripted-alarms): DependencyMuxTagUpstreamSource (T7) Joseph Doherty 2026-06-10 14:20:02 -04:00
  • b5748288df test(scriptlog): prove bridge→broadcaster delivery off the script-logs DPS topic Joseph Doherty 2026-06-10 13:53:34 -04:00
  • c42a056537 chore(plan): Layer 0 complete (T0-T3) — tracking update Joseph Doherty 2026-06-10 12:09:56 -04:00
  • 788bb68d1d fix(scripting): companion sink falls back to ScriptId for the main-log mirror (T3 review) Joseph Doherty 2026-06-10 12:08:29 -04:00
  • bd2dd05a0c feat(scripting): evaluators log through root script logger → script-log page (F8) Joseph Doherty 2026-06-10 12:03:51 -04:00
  • bf86b3def6 fix(scripting): explicit companion logger + disposable ScriptRootLogger (T2 review) Joseph Doherty 2026-06-10 11:56:51 -04:00
  • 73014258ef feat(scripting): root script logger + DPS publisher wired in Host Joseph Doherty 2026-06-10 11:50:50 -04:00
  • 14fe88fc80 feat(scripting): ScriptLogTopicSink — script LogEvent → ScriptLogEntry → publisher Joseph Doherty 2026-06-10 11:38:54 -04:00
  • 12423899aa docs(plan): script-log emit + scripted-alarm runtime implementation plan + tasks Joseph Doherty 2026-06-10 11:34:01 -04:00