-
2220bfcf58
test(commons): failing tests for OpcUaEndpointConfigSerializer
Joseph Doherty
2026-05-12 00:38:56 -04:00
-
b16606d97e
feat(commons): OpcUaEndpointConfig POCOs + ConnectionConfig ValidationCategory
Joseph Doherty
2026-05-12 00:35:27 -04:00
-
a9c4c2c655
docs(plans): implementation plan for OPC UA config model refactor
Joseph Doherty
2026-05-12 00:33:51 -04:00
-
c906e73441
docs(plans): OPC UA endpoint config model & form refactor design
Joseph Doherty
2026-05-12 00:27:35 -04:00
-
da5fdf0e63
feat(ui/admin): Topology-style refresh of Data Connections page
Joseph Doherty
2026-05-11 22:42:48 -04:00
-
f3386d0278
feat(ui/deployment): consolidate sites/areas/instances into Topology page
Joseph Doherty
2026-05-11 22:03:55 -04:00
-
b2eddd9713
feat(ui/templates): derived-template action and slimmer composition row
Joseph Doherty
2026-05-11 21:29:32 -04:00
-
b4cb7e6f5f
feat(templates): lock ParentTemplateId after creation
Joseph Doherty
2026-05-11 21:29:21 -04:00
-
8e388a89c5
feat(ui/templates): adopt TreeView design guide; split editor to /design/templates/{id}
Joseph Doherty
2026-05-11 20:52:34 -04:00
-
f3b33e7e1d
fix(ui/treeview): union sessionStorage keys instead of overwriting
Joseph Doherty
2026-05-11 12:42:38 -04:00
-
d8e6f44616
fix(ui/templates): defer deep-link reveal until TreeView restores sessionStorage
Joseph Doherty
2026-05-11 12:39:21 -04:00
-
ca164dca03
fix(ui/templates): stop drop propagation on folder nodes
Joseph Doherty
2026-05-11 12:28:05 -04:00
-
acead212b2
fix(ui/templates): dereference string params with @ and stack toolbar below title
Joseph Doherty
2026-05-11 12:20:40 -04:00
-
3587ab4fcb
refactor(ui/templates): extract dialog modals into shared components
Joseph Doherty
2026-05-11 12:03:35 -04:00
-
17e690f6ef
test(ui/templates): cover drag-template-to-root via bUnit DragEventArgs
Joseph Doherty
2026-05-11 12:00:07 -04:00
-
8155dbc411
docs(templates): describe folder hierarchy and management commands
Joseph Doherty
2026-05-11 11:28:09 -04:00
-
d54013cb88
test(ui/templates): bUnit rendering tests for folder tree
Joseph Doherty
2026-05-11 11:25:15 -04:00
-
ca3b34223d
feat(ui/templates): reveal deep-linked template on initial render
Joseph Doherty
2026-05-11 11:21:53 -04:00
-
c60aad9df4
feat(ui/templates): native HTML5 drag-drop reorganization
Joseph Doherty
2026-05-11 11:20:42 -04:00
-
fc105acd7c
feat(ui/templates): new-folder, new-template, move-template dialogs
Joseph Doherty
2026-05-11 11:18:36 -04:00
-
39e6e0a525
feat(ui/templates): per-kind context menus + folder rename/delete
Joseph Doherty
2026-05-11 11:15:25 -04:00
-
4977f99a74
feat(ui/templates): split-pane layout with folder + composition tree
Joseph Doherty
2026-05-11 11:12:40 -04:00
-
78165b3d99
feat(ui/templates): replace flat tree model with TmplNode discriminated by kind
Joseph Doherty
2026-05-11 11:10:39 -04:00
-
20f60c88f9
feat(ui/templates): load folders alongside templates
Joseph Doherty
2026-05-11 11:09:16 -04:00
-
3d28f0d2eb
feat(management): handler + authorization for TemplateFolder commands
Joseph Doherty
2026-05-11 11:07:19 -04:00
-
a293f5a365
feat(management): add TemplateFolder command records
Joseph Doherty
2026-05-11 11:05:32 -04:00
-
2c301c6fe1
feat(di): register TemplateFolderService
Joseph Doherty
2026-05-11 11:04:26 -04:00
-
e3315781cb
refactor(template-engine): align MoveTemplateAsync audit/save order with sibling methods
Joseph Doherty
2026-05-11 11:03:44 -04:00
-
72b9f7e66e
feat(template-engine): TemplateService.MoveTemplateAsync
Joseph Doherty
2026-05-11 11:02:03 -04:00
-
723ab61bd8
feat(template-folder): delete folder blocked if non-empty
Joseph Doherty
2026-05-11 10:59:29 -04:00
-
e44bbc0caf
fix(template-folder): bound cycle-walk to defend against malformed graphs
Joseph Doherty
2026-05-11 10:58:02 -04:00
-
1269054651
feat(template-folder): move with cycle detection and sibling uniqueness
Joseph Doherty
2026-05-11 10:55:52 -04:00
-
3dfc7180c5
feat(template-folder): rename folder with sibling uniqueness check
Joseph Doherty
2026-05-11 10:53:43 -04:00
-
ff23f64cf8
feat(template-folder): add TemplateFolderService.CreateFolderAsync with validation
Joseph Doherty
2026-05-11 10:50:28 -04:00
-
44c6e4a553
refactor(repo): align TemplateFolder methods with sibling repository conventions
Joseph Doherty
2026-05-11 10:48:18 -04:00
-
4b1077d686
feat(repo): add TemplateFolder repository methods
Joseph Doherty
2026-05-11 10:45:20 -04:00
-
978ac79ad8
feat(db): EF migration AddTemplateFolders
Joseph Doherty
2026-05-11 10:43:04 -04:00
-
e0b098d200
feat(db): map TemplateFolder entity and Template.FolderId
Joseph Doherty
2026-05-11 10:34:25 -04:00
-
1d27ec3b85
feat(templates): add TemplateFolder entity and Template.FolderId
Joseph Doherty
2026-05-11 10:31:42 -04:00
-
80f407ae0d
fix(db): EF migration AddPrimaryBackupDataConnections
Joseph Doherty
2026-05-11 10:42:12 -04:00
-
18387df8cb
plan(templates-page): use ScadaLink.slnx (repo uses slnx, not sln)
Joseph Doherty
2026-05-11 10:30:15 -04:00
-
892204ea3a
plan(templates-page): implementation plan for folder hierarchy
Joseph Doherty
2026-05-11 10:27:39 -04:00
-
daa01261f3
design(templates-page): folder hierarchy and split-pane tree layout
Joseph Doherty
2026-05-11 10:20:50 -04:00
-
872d358ad3
chore(docker): drop stale lmxproxy paths from Dockerfile
Joseph Doherty
2026-05-08 09:34:23 -04:00
-
ec1d8f1393
chore(deps): bump packages flagged by NU190x advisories
Joseph Doherty
2026-05-08 09:34:17 -04:00
-
5da779db17
fix(host): wait for configuration database before applying migrations
Joseph Doherty
2026-05-08 09:33:59 -04:00
-
9dccf8e72f
deprecate(lmxproxy): move all LmxProxy code, tests, and docs to deprecated/
Joseph Doherty
2026-04-08 15:56:23 -04:00
-
8423915ba1
fix(site-runtime): publish quality changes to site stream for real-time debug view updates
Joseph Doherty
2026-03-24 16:32:00 -04:00
-
6df2cbdf90
fix(lmxproxy): support multiple subscriptions per session
Joseph Doherty
2026-03-24 16:27:35 -04:00
-
b3076e18db
docs(lmxproxy): add stale session subscription fix plan
Joseph Doherty
2026-03-24 16:08:48 -04:00
-
de7c4067e4
feat(dcl): add debug-level logging for heartbeat subscription callbacks
Joseph Doherty
2026-03-24 15:47:47 -04:00
-
5fdeaf613f
feat(dcl): failover on repeated unstable connections (connect-then-stale pattern)
Joseph Doherty
2026-03-24 15:23:54 -04:00
-
ff2784b862
fix(site-runtime): add SQLite schema migration for backup_configuration column
Joseph Doherty
2026-03-24 14:40:42 -04:00
-
0d03aec4f2
feat(dcl): log connection disconnect events to site event log
Joseph Doherty
2026-03-24 14:35:12 -04:00
-
d4397910f0
feat(dcl): add StaleTagMonitor for heartbeat-based disconnect detection
Joseph Doherty
2026-03-24 14:28:11 -04:00
-
02a7e8abc6
feat(health): show all cluster nodes (online/offline, primary/standby) in health dashboard
Joseph Doherty
2026-03-23 14:54:59 -04:00
-
65cc7b69cd
feat(health): wire up NodeHostname, ConnectionEndpoint, TagQuality, ParkedMessageCount collectors
Joseph Doherty
2026-03-23 10:57:57 -04:00
-
e84a831a02
feat(health): redesign health dashboard with 4-column layout and new metrics
Joseph Doherty
2026-03-23 10:44:30 -04:00
-
5e2a4c9080
fix(ui): align TreeView node text by giving toggle and spacer equal fixed width
Joseph Doherty
2026-03-23 10:29:19 -04:00
-
0abaa47de2
fix(ui): normalize TreeView expanded keys to strings for sessionStorage compatibility
Joseph Doherty
2026-03-23 06:07:52 -04:00
-
a0a6bb4986
refactor(ui): replace manual template inheritance tree with TreeView component
Joseph Doherty
2026-03-23 06:04:48 -04:00
-
2b5dabb336
refactor(ui): redesign Areas page with TreeView and dedicated Add/Edit/Delete pages
Joseph Doherty
2026-03-23 05:57:22 -04:00
-
968fc4adc7
fix(ui): disable site and instance dropdowns while debug view is connected
Joseph Doherty
2026-03-23 05:48:36 -04:00
-
4c7fa03c07
fix(ui): remove default list-style bullets from TreeView ul elements
Joseph Doherty
2026-03-23 05:38:49 -04:00
-
addbb6ffeb
fix(ui): move treeview-storage.js to Host wwwroot where static files are served
Joseph Doherty
2026-03-23 05:36:32 -04:00
-
f1537b62ca
refactor(ui): replace instances table with hierarchical TreeView (Site → Area → Instance)
Joseph Doherty
2026-03-23 02:40:44 -04:00
-
71894f4ba9
refactor(ui): replace manual area tree rendering with TreeView component
Joseph Doherty
2026-03-23 02:38:25 -04:00
-
4426f3e928
refactor(ui): replace data connections table with TreeView grouped by site
Joseph Doherty
2026-03-23 02:37:15 -04:00
-
08d511f609
test(ui): add external filtering tests for TreeView (R8)
Joseph Doherty
2026-03-23 02:35:39 -04:00
-
4e5b5facec
feat(ui): add right-click context menu to TreeView (R15)
Joseph Doherty
2026-03-23 02:32:57 -04:00
-
f127efe6ea
feat(ui): add ExpandAll, CollapseAll, RevealNode to TreeView (R12, R13)
Joseph Doherty
2026-03-23 02:30:53 -04:00
-
d3a6ed5f68
feat(ui): add sessionStorage persistence for TreeView expansion state (R11)
Joseph Doherty
2026-03-23 02:28:54 -04:00
-
da4f29f6ee
feat(ui): add selection support to TreeView (R5)
Joseph Doherty
2026-03-23 02:26:09 -04:00
-
75648c0c76
feat(ui): add TreeView<TItem> component with core rendering, expand/collapse, ARIA (R1-R4, R14)
Joseph Doherty
2026-03-23 02:23:48 -04:00
-
4db93cae2b
fix(lmxproxy): fix orphaned tag subscriptions when client subscribes per-tag
Joseph Doherty
2026-03-24 15:43:29 -04:00
-
eecd82b787
fix(lmxproxy): clean up stale session subscriptions on scavenge and add stream timeout
Joseph Doherty
2026-03-24 15:21:06 -04:00
-
b74e139a85
fix(lmxproxy): reset probe timer after reconnect to prevent false stale triggers
Joseph Doherty
2026-03-24 15:06:42 -04:00
-
488a7b534b
feat(lmxproxy): add Connected Since and Reconnect Count to status page
Joseph Doherty
2026-03-24 13:32:46 -04:00
-
73fe618953
fix(lmxproxy): protect probe subscription from ReadAsync teardown, add instance configs
Joseph Doherty
2026-03-24 12:20:05 -04:00
-
95168253fc
feat(lmxproxy): replace subscribe/unsubscribe health probe with persistent subscription
Joseph Doherty
2026-03-24 11:57:22 -04:00
-
b3222cf30b
fix(site-runtime): wire EventLogHandlerActor so site event log queries work
Joseph Doherty
2026-03-23 00:37:33 -04:00
-
64c914019d
feat(lmxproxy): always show RPC Operations table, rename from 'Operations'
Joseph Doherty
2026-03-23 00:12:19 -04:00
-
7f74b660b3
feat(lmxproxy): add delivered/dropped message counts to subscription stats
Joseph Doherty
2026-03-23 00:07:58 -04:00
-
59d143e4c8
docs(lmxproxy): update deviations for STA resolution, OnWriteComplete, subscribe fix
Joseph Doherty
2026-03-22 23:52:09 -04:00
-
b218773ab0
fix(lmxproxy): await COM subscription creation to fix Subscribe flakiness
Joseph Doherty
2026-03-22 23:48:01 -04:00
-
84b7b6a7a9
feat(lmxproxy): re-enable OnWriteComplete callback via STA message pump
Joseph Doherty
2026-03-22 23:35:09 -04:00
-
a326a8cbde
fix(lmxproxy): make MxAccess client name unique per instance
Joseph Doherty
2026-03-22 23:17:55 -04:00
-
a59d4ad76c
fix(lmxproxy): use raw Win32 message pump instead of WinForms Application.Run
Joseph Doherty
2026-03-22 18:03:34 -04:00
-
b6408726bc
feat(lmxproxy): add STA thread with message pump for MxAccess COM callbacks
Joseph Doherty
2026-03-22 18:00:24 -04:00
-
c96e71c83c
Revert "fix(lmxproxy): resolve subscribe/unsubscribe race condition on client reconnect"
Joseph Doherty
2026-03-22 16:55:06 -04:00
-
fa33e1acf1
fix(lmxproxy): resolve subscribe/unsubscribe race condition on client reconnect
Joseph Doherty
2026-03-22 16:33:19 -04:00
-
bc4fc97652
refactor(ui): extract instance bindings and overrides to dedicated Configure page
Joseph Doherty
2026-03-22 15:58:32 -04:00
-
161dc406ed
feat(scripts): add typed Parameters.Get<T>() helpers for script API
Joseph Doherty
2026-03-22 15:47:18 -04:00
-
a0e036fb6b
chore(lmxproxy): switch health probe tag to DevPlatform.Scheduler.ScanTime
Joseph Doherty
2026-03-22 15:20:48 -04:00
-
ecf4b434c2
refactor(dcl): simplify ValueFormatter now that SDK returns native .NET arrays
Joseph Doherty
2026-03-22 15:15:38 -04:00
-
af7335f9e2
docs(dcl): update protocol and type mapping docs to reflect v2 TypedValue and SDK integration
Joseph Doherty
2026-03-22 14:53:41 -04:00
-
ce3942990e
feat(lmxproxy): add DatetimeArray proto type for DateTime[] round-trip fidelity
Joseph Doherty
2026-03-22 15:08:15 -04:00
-
b050371dd5
fix(lmxproxy): handle DateTime[] COM arrays in TypedValueConverter
Joseph Doherty
2026-03-22 14:56:08 -04:00
-
dcdf79afdc
fix(dcl): format ArrayValue objects as comma-separated strings for display
Joseph Doherty
2026-03-22 14:46:15 -04:00
-
ea9c2857a7
fix(docker,cli): add LmxProxy.Client to Docker build, fix set-bindings JSON parsing
Joseph Doherty
2026-03-22 14:25:09 -04:00