This website requires JavaScript.
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