-
9c60592632
build: adopt NuGet Central Package Management
Joseph Doherty
2026-05-16 15:56:30 -04:00
-
fd1518f4f4
test(central-ui): remove vacuous tests for removed analyzer diagnostics
Joseph Doherty
2026-05-16 15:06:30 -04:00
-
b949dc4183
test(central-ui): realign analyzer tests with the reworked script-call API
Joseph Doherty
2026-05-16 15:04:06 -04:00
-
3cc174c3cd
test(central-ui): fix the CentralUI.Tests build
Joseph Doherty
2026-05-16 14:44:30 -04:00
-
d030153378
test(site-runtime): fix stale SetStaticAttribute tests
Joseph Doherty
2026-05-16 14:33:09 -04:00
-
d63d412461
test(triggers): expect AlarmTriggerType.Expression in the enum membership test
Joseph Doherty
2026-05-16 06:42:17 -04:00
-
0a535cd4a5
fix(triggers): don't false-flag Children/Parent attribute refs in expression validation
Joseph Doherty
2026-05-16 06:08:06 -04:00
-
5065384305
fix(triggers): use explicit ValidationCategory + tighten expression syntax validation
Joseph Doherty
2026-05-16 05:57:39 -04:00
-
bf3f572ad9
feat(triggers): validate expression triggers pre-deployment
Joseph Doherty
2026-05-16 05:52:25 -04:00
-
3499d76f14
feat(ui/triggers): expression trigger panel in the script & alarm editors
Joseph Doherty
2026-05-16 05:46:27 -04:00
-
78b10d00d8
fix(triggers): bound expression evaluation, align AlarmActor error handling, dedupe config parsing
Joseph Doherty
2026-05-16 05:43:18 -04:00
-
41c3fa3d84
fix(triggers): seed the trigger-expression attribute snapshot at actor startup
Joseph Doherty
2026-05-16 05:38:50 -04:00
-
9e21b47080
feat(triggers): runtime expression trigger evaluation for scripts and alarms
Joseph Doherty
2026-05-16 05:35:02 -04:00
-
f789ab4a91
docs(triggers): list the Expression config shape in the codec summaries
Joseph Doherty
2026-05-16 05:30:12 -04:00
-
199cdbe798
feat(triggers): add Expression to the script & alarm trigger codecs
Joseph Doherty
2026-05-16 05:27:33 -04:00
-
8050a1996f
docs(plans): implementation plan for expression triggers
Joseph Doherty
2026-05-16 05:25:10 -04:00
-
c94d3b7570
docs(plans): design for expression-based script & alarm triggers
Joseph Doherty
2026-05-16 05:21:57 -04:00
-
6fb313cf58
feat(ui/templates): structured trigger editor for template scripts
Joseph Doherty
2026-05-16 04:03:42 -04:00
-
295150751f
feat(scripts): realign Test Run with runtime API, add anonymous-object calls and instance binding
Joseph Doherty
2026-05-16 03:37:56 -04:00
-
d7b05b40e9
fix(host): drop UseStaticFiles so MapStaticAssets controls caching
Joseph Doherty
2026-05-15 12:29:14 -04:00
-
e54c4a6c2e
feat(ui/auth): use a minimal layout for the login page
Joseph Doherty
2026-05-15 12:16:36 -04:00
-
fc18239b97
fix(ui/auth): stop /login redirect loop when the session is expired
Joseph Doherty
2026-05-15 12:14:57 -04:00
-
1d5465f31c
fix(deployment): instance delete fully removes the record
Joseph Doherty
2026-05-15 12:05:13 -04:00
-
17e24ddd20
fix(site-event-log): record script errors and route queries to the active node
Joseph Doherty
2026-05-15 12:04:59 -04:00
-
80ec16a6d0
feat(ui/auth): redirect to /login when the session times out
Joseph Doherty
2026-05-13 16:13:53 -04:00
-
3f37584728
feat(ui/topology): open instance in Debug View from context menu
Joseph Doherty
2026-05-13 13:41:20 -04:00
-
733679a376
feat(ui/api-keys): grant API method access on edit page
Joseph Doherty
2026-05-13 13:41:13 -04:00
-
7044791a55
docs(plans): scrub LmxProxy references from design plans
Joseph Doherty
2026-05-13 13:30:07 -04:00
-
72e7bbe968
chore: remove deprecated LmxProxy reference implementation
Joseph Doherty
2026-05-13 13:29:58 -04:00
-
f66dc031a4
fix(health): route site heartbeats into the aggregator
Joseph Doherty
2026-05-13 08:11:43 -04:00
-
7bba48a14a
feat(ui/monitoring): redesign Parked Messages page with filters, drawer, and bulk actions
Joseph Doherty
2026-05-13 08:05:22 -04:00
-
1c2dc45803
feat(ui/api-methods): pick approved API keys when editing a method
Joseph Doherty
2026-05-13 07:12:44 -04:00
-
1822e3c76f
fix(store-and-forward): wire up parked-message handler and start S&F service on sites
Joseph Doherty
2026-05-13 07:12:37 -04:00
-
6f1f6b8467
fix(health): replicate site health reports between central nodes
Joseph Doherty
2026-05-13 06:20:07 -04:00
-
d9caa3dd7e
fix(ui/shared-scripts): show real param count and return type on cards
Joseph Doherty
2026-05-13 05:52:53 -04:00
-
352c93d5a2
fix(alarms): surface composed-member attributes across flatten/validate/UI
Joseph Doherty
2026-05-13 05:33:32 -04:00
-
164d914ba8
feat(ui): rich AlarmTriggerEditor in instance override modal
Joseph Doherty
2026-05-13 04:05:08 -04:00
-
4e446a7170
feat(ui): instance alarm override editor in InstanceConfigure
Joseph Doherty
2026-05-13 03:28:39 -04:00
-
751248feb6
feat(alarms): HiLo trigger type with per-band level, hysteresis, messages, overrides
Joseph Doherty
2026-05-13 03:23:32 -04:00
-
783da8e21a
feat(ui): structured editors for script schemas and alarm triggers
Joseph Doherty
2026-05-13 00:33:00 -04:00
-
57f477fd28
fix(templates): cascade delete through nested derived templates
Joseph Doherty
2026-05-12 10:34:55 -04:00
-
85769486df
fix(ui/templates): expand composition leaves to show cascaded slots
Joseph Doherty
2026-05-12 10:29:52 -04:00
-
4f90f952d0
fix(templates): cascade child compositions when composing a composite
Joseph Doherty
2026-05-12 09:57:07 -04:00
-
1f86945d46
refactor(ui/templates): drop row kebabs; double-click opens templates
Joseph Doherty
2026-05-12 09:50:22 -04:00
-
54338abdce
refactor(ui/templates): drop the "Show derived" toggle
Joseph Doherty
2026-05-12 09:46:26 -04:00
-
78de4a6492
fix(ui/treeview): dismiss right-click context menu when a menu item runs
Joseph Doherty
2026-05-12 09:30:26 -04:00
-
5c3dc79b8a
feat(templates/ui): manage compositions from the tree
Joseph Doherty
2026-05-12 09:22:55 -04:00
-
552c9e4065
docs(templates): record phase 4-9 completion + verification TODOs
Joseph Doherty
2026-05-12 08:59:19 -04:00
-
a965d4a5bd
feat(templates/ui): phase 9 — single-parent editor context
Joseph Doherty
2026-05-12 08:57:42 -04:00
-
f05b03f1cc
feat(templates/ui): phase 6-8 — derived template UX
Joseph Doherty
2026-05-12 08:55:20 -04:00
-
f599809486
feat(templates): phase 4+5 — inherit/override resolution + lock enforcement
Joseph Doherty
2026-05-12 08:50:49 -04:00
-
8b8b85c839
docs(templates): record phase 2+3 completion in status doc
Joseph Doherty
2026-05-12 08:31:20 -04:00
-
03a8c4a632
feat(templates): phase 3 — migrate existing compositions to derived
Joseph Doherty
2026-05-12 08:30:17 -04:00
-
fa86750717
feat(templates): phase 2 — derive-on-compose for new compositions
Joseph Doherty
2026-05-12 08:27:13 -04:00
-
91b786eb1c
docs(templates): derive-on-compose phase status + resume plan
Joseph Doherty
2026-05-12 08:18:43 -04:00
-
5615f3d0c7
feat(templates): phase 1 — derived-template schema (additive)
Joseph Doherty
2026-05-12 08:16:24 -04:00
-
a968cefbc2
docs(templates): record derive-on-compose decisions (naming, migration, tree UX)
Joseph Doherty
2026-05-12 08:13:11 -04:00
-
68548432b3
docs(templates): design for derive-on-compose specialization
Joseph Doherty
2026-05-12 08:12:12 -04:00
-
0139c9ca83
refactor(scripts): scoped parent query + parent picker for multi-parent templates
Joseph Doherty
2026-05-12 06:00:02 -04:00
-
0b24b4537d
feat(ui/scripts): editor support for self/child/parent accessors
Joseph Doherty
2026-05-12 05:53:13 -04:00
-
efba01d10a
feat(scripts): self/child/parent attribute and script accessors
Joseph Doherty
2026-05-12 05:45:24 -04:00
-
3ed05f0595
docs(scripts): design for template-script scope access
Joseph Doherty
2026-05-12 05:38:58 -04:00
-
0528c65cba
feat(ui/scripts): format, inlay hints, problems panel, type diagnostic
Joseph Doherty
2026-05-12 05:28:13 -04:00
-
004c5da582
feat(ui/scripts): shape-aware Monaco features for script calls
Joseph Doherty
2026-05-12 05:17:59 -04:00
-
cd0ec583e1
refactor(ui/scripts): cache diagnostics + semantic forbidden-API check
Joseph Doherty
2026-05-12 05:05:35 -04:00
-
225817eac9
feat(ui/scripts): SCADA-specific Monaco extensions
Joseph Doherty
2026-05-12 04:56:56 -04:00
-
cf9548e9ed
feat(ui/scripts): Roslyn-backed C# completions + diagnostics for Monaco
Joseph Doherty
2026-05-12 04:40:07 -04:00
-
7f01c5547a
feat(ui/design): Monaco editor for script code fields
Joseph Doherty
2026-05-12 04:34:41 -04:00
-
e667ea2b50
test(ui/design): roundtrip tests + normalization notice for IO editors
Joseph Doherty
2026-05-12 04:27:00 -04:00
-
1b98d37919
refactor(ui/design): replace JSON inputs with structured editors
Joseph Doherty
2026-05-12 04:22:58 -04:00
-
eb1d6872ef
refactor(ui/shared): migrate sidebar CSS to Bootstrap variables
Joseph Doherty
2026-05-12 03:57:45 -04:00
-
8038aa7cb5
refactor(ui/shared): introduce IDialogService + DialogHost
Joseph Doherty
2026-05-12 03:57:37 -04:00
-
e21791adb0
refactor(ui/monitoring): KPI dashboard, message expand, copy, pagination fix
Joseph Doherty
2026-05-12 03:33:06 -04:00
-
321ca0bbbf
refactor(ui/deployment): live-updates toggle, DebugView guardrails
Joseph Doherty
2026-05-12 03:32:53 -04:00
-
b6e2ec8a50
refactor(ui/design): card grid, SMTP split, TemplateEdit vertical-stack
Joseph Doherty
2026-05-12 03:32:39 -04:00
-
da2c0d714e
refactor(ui/admin): card grid, search, kebab; LDAP scope-rule chips
Joseph Doherty
2026-05-12 03:32:17 -04:00
-
f7b10f2ff7
refactor(ui/shared): scroll-lock, escape, aria-live, responsive sidebar
Joseph Doherty
2026-05-12 03:32:07 -04:00
-
ff5f5a10ef
docs(ui): UI audit findings (2026-05-12)
Joseph Doherty
2026-05-12 03:31:54 -04:00
-
0805e18e9c
refactor(ui/sites): replace 10-col table with card grid + collapsible cluster panel
Joseph Doherty
2026-05-12 02:55:37 -04:00
-
22d91c858a
feat(ui): Layer E2 OpcUaEndpointEditor gains Authentication / Advanced / Deadband sections
Joseph Doherty
2026-05-12 02:30:06 -04:00
-
f89f234558
test(ui): failing bUnit tests for OpcUaEndpointEditor new sections
Joseph Doherty
2026-05-12 02:28:47 -04:00
-
8faaa8fe2b
feat(dcl): Layer D OpcUaGlobalOptions for app-wide identity + cert paths
Joseph Doherty
2026-05-12 02:27:58 -04:00
-
e6a5b558f3
feat(dcl): Layer C runtime wires new OPC UA settings through to OPC SDK
Joseph Doherty
2026-05-12 02:26:15 -04:00
-
b60a8ef409
feat(commons): Layer B serializer + validator handle new OPC UA settings
Joseph Doherty
2026-05-12 02:22:51 -04:00
-
91450ec390
test(commons): failing tests for Layer B serializer + validator extensions
Joseph Doherty
2026-05-12 02:21:33 -04:00
-
16f7ab0d0a
feat(commons): extend OpcUaEndpointConfig with auth, subscription tuning, read/filter knobs
Joseph Doherty
2026-05-12 02:20:12 -04:00
-
084da55ad6
fix(commons): LoadLegacy handles mixed-type JSON values (number/bool/string)
Joseph Doherty
2026-05-12 02:08:32 -04:00
-
cfb90d2078
fix(ui/admin): always clear _loading in DataConnectionForm.OnInitializedAsync
Joseph Doherty
2026-05-12 01:14:18 -04:00
-
9916aeaa47
refactor(ui/admin): DataConnectionForm uses OpcUaEndpointEditor and typed model
Joseph Doherty
2026-05-12 01:11:49 -04:00
-
505731fcef
test(ui): drive DataConnectionForm tests via NavigationManager for SupplyParameterFromQuery
Joseph Doherty
2026-05-12 01:09:31 -04:00
-
46260f30ee
test(ui): failing tests for DataConnectionForm refactor
Joseph Doherty
2026-05-12 01:07:55 -04:00
-
1c71d3342a
feat(ui): OpcUaEndpointEditor Blazor component
Joseph Doherty
2026-05-12 01:05:32 -04:00
-
304ebec121
test(ui): failing bUnit tests for OpcUaEndpointEditor
Joseph Doherty
2026-05-12 01:02:41 -04:00
-
496d2a68e3
refactor(site-runtime): route OPC UA connection JSON through serializer
Joseph Doherty
2026-05-12 00:59:25 -04:00
-
f98d29fc36
refactor(dcl): OpcUaDataConnection uses OpcUaEndpointConfig via FromFlatDict
Joseph Doherty
2026-05-12 00:57:09 -04:00
-
80d4d3e252
feat(commons): OpcUaEndpointConfigValidator
Joseph Doherty
2026-05-12 00:52:55 -04:00
-
b53221e44a
test(commons): failing tests for OpcUaEndpointConfigValidator
Joseph Doherty
2026-05-12 00:50:28 -04:00
-
4608adcd53
refactor(commons): defensive legacy-parse + FromFlatDict starts from POCO defaults
Joseph Doherty
2026-05-12 00:48:17 -04:00
-
8fbf167389
feat(commons): OpcUaEndpointConfigSerializer with legacy fallback + flat-dict interop
Joseph Doherty
2026-05-12 00:44:21 -04:00
-
90b252047e
test(commons): decouple serializer tests from JSON whitespace and verify defaults symmetrically
Joseph Doherty
2026-05-12 00:41:55 -04:00