Commit Graph

  • 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
  • 847302e297 test(dcl): add failover state machine tests for DataConnectionActor Joseph Doherty 2026-03-22 08:47:44 -04:00
  • 5de6c8d052 docs(dcl): document primary/backup endpoint redundancy across requirements and test infra Joseph Doherty 2026-03-22 08:43:59 -04:00
  • e8df71ea64 feat(cli): add --primary-config, --backup-config, --failover-retry-count to data connection commands Joseph Doherty 2026-03-22 08:41:57 -04:00
  • ab4e88f17f feat(ui): add primary/backup endpoint fields to data connection form Joseph Doherty 2026-03-22 08:36:18 -04:00
  • 801c0c1df2 feat(dcl): add active endpoint to health reports and log failover events Joseph Doherty 2026-03-22 08:34:05 -04:00
  • da290fa4f8 feat(dcl): add failover state machine to DataConnectionActor with round-robin endpoint switching Joseph Doherty 2026-03-22 08:30:03 -04:00
  • 46304678da feat(dcl): extend CreateConnectionCommand with backup config and failover retry count Joseph Doherty 2026-03-22 08:24:39 -04:00
  • 04af03980e feat(dcl): rename Configuration to PrimaryConfiguration, add BackupConfiguration and FailoverRetryCount Joseph Doherty 2026-03-22 08:18:31 -04:00
  • 5ca1be328c docs(dcl): add primary/backup data connections implementation plan Joseph Doherty 2026-03-22 08:13:23 -04:00
  • 6267ff882c docs(dcl): add primary/backup data connection endpoints design Joseph Doherty 2026-03-22 08:09:25 -04:00
  • 5ec7f35150 feat(dcl): replace hand-rolled LmxProxy gRPC client with real LmxProxyClient library Joseph Doherty 2026-03-22 07:55:50 -04:00
  • abb7579227 chore(infra): remove LmxFakeProxy — replaced by real LmxProxy v2 instances on windev Joseph Doherty 2026-03-22 07:42:13 -04:00
  • efed8352c3 feat(infra): add second OPC UA server instance (opcua2) on port 50010 Joseph Doherty 2026-03-22 07:31:18 -04:00
  • ac44122bf7 docs(lmxproxy): add dual-instance configuration (A on 50100, B on 50101) Joseph Doherty 2026-03-22 07:26:06 -04:00
  • 2c99b370a0 chore(lmxproxy): switch health probe tag to DevAppEngine.Scheduler.ScanTime, remove temp prompts Joseph Doherty 2026-03-22 07:18:39 -04:00
  • ec21a9a2a0 docs(lmxproxy): mark gap 1 and gap 2 as resolved with test verification Joseph Doherty 2026-03-22 07:10:38 -04:00
  • a6c01d73e2 feat(lmxproxy): active health probing + address-based subscription cleanup (gap 1 & 2) Joseph Doherty 2026-03-22 06:44:21 -04:00
  • 86a15c0a65 docs(lmxproxy): document reconnection gaps from platform restart testing Joseph Doherty 2026-03-22 06:19:30 -04:00
  • 5a9574fb95 feat(lmxproxy): add MxAccess status detail mapping for richer error messages Joseph Doherty 2026-03-22 05:10:50 -04:00
  • 73b2b2f6d7 docs(lmxproxy): add STA message pump gap analysis with implementation guide Joseph Doherty 2026-03-22 05:02:15 -04:00
  • 467fdc34d8 docs(lmxproxy): correct deviation #7 — OnWriteComplete is a COM threading issue, not MxAccess behavior Joseph Doherty 2026-03-22 04:53:54 -04:00
  • 866c73dcd4 docs(lmxproxy): add deviation #8 — SubscriptionManager COM subscription wiring Joseph Doherty 2026-03-22 04:47:23 -04:00
  • 7bed4b901a fix(lmxproxy): wire MxAccess COM subscriptions in SubscriptionManager Joseph Doherty 2026-03-22 04:46:15 -04:00
  • c5d4849bd3 fix(lmxproxy): resolve write timeout — bypass OnWriteComplete callback for supervisory writes Joseph Doherty 2026-03-22 04:39:14 -04:00
  • e2c204b62b docs(lmxproxy): add execution prompt to fix failing write integration tests Joseph Doherty 2026-03-22 04:38:30 -04:00
  • 7079f6eed4 docs(lmxproxy): add ArchestrA MXAccess Toolkit reference documentation Joseph Doherty 2026-03-22 04:30:39 -04:00
  • f4386bc518 docs(lmxproxy): record v2 rebuild deviations and key technical decisions Joseph Doherty 2026-03-22 04:21:36 -04:00
  • 779598d962 feat(lmxproxy): phase 7 — integration tests, deployment to windev, v1 cutover Joseph Doherty 2026-03-22 01:11:44 -04:00
  • 6d9bf594ec feat(lmxproxy): phase 7 — integration test project and test scenarios Joseph Doherty 2026-03-22 00:31:26 -04:00
  • 215cfa29f3 feat(lmxproxy): phase 6 — client extras (builder, factory, DI, streaming extensions) Joseph Doherty 2026-03-22 00:29:16 -04:00
  • 8ba75b50e8 feat(lmxproxy): phase 5 — client core (ILmxProxyClient, connection, read/write/subscribe) Joseph Doherty 2026-03-22 00:22:29 -04:00
  • 9eb81180c0 feat(lmxproxy): phase 4 — host health monitoring, metrics, status web server Joseph Doherty 2026-03-22 00:14:40 -04:00
  • 16d1b95e9a feat(lmxproxy): phase 3 — host gRPC server, security, configuration, service hosting Joseph Doherty 2026-03-22 00:05:36 -04:00
  • 64c92c63e5 feat(lmxproxy): phase 2 — host core (MxAccessClient, SessionManager, SubscriptionManager) Joseph Doherty 2026-03-21 23:58:17 -04:00
  • 0d63fb1105 feat(lmxproxy): phase 1 — v2 protocol types and domain model Joseph Doherty 2026-03-21 23:41:56 -04:00
  • 08d2a07d8b docs(lmxproxy): update test tags to TestChildObject namespace for v2 type coverage Joseph Doherty 2026-03-21 23:35:15 -04:00
  • 4303f06fc3 docs(lmxproxy): add v2 rebuild design, 7-phase implementation plans, and execution prompt Joseph Doherty 2026-03-21 23:29:42 -04:00
  • 683aea0fbe docs: add LmxProxy requirements documentation with v2 protocol as authoritative design Joseph Doherty 2026-03-21 22:38:11 -04:00
  • 970d0a5cb3 refactor: simplify data connections from many-to-many site assignment to direct site ownership Joseph Doherty 2026-03-21 21:07:10 -04:00
  • cd6efeea90 docs: add requirements generation prompt for LmxProxy project Joseph Doherty 2026-03-21 21:06:59 -04:00
  • 2810306415 feat: add standalone LmxProxy solution, windev VM documentation Joseph Doherty 2026-03-21 20:50:05 -04:00
  • 512153646a test: add role-based navigation tests verifying correct nav sections per user role Joseph Doherty 2026-03-21 15:25:34 -04:00
  • d3194e3634 feat: separate create/edit form pages, Playwright test infrastructure, /auth/token endpoint Joseph Doherty 2026-03-21 15:17:24 -04:00
  • b3f8850711 docs: document script hot-reload mechanisms for all script types Joseph Doherty 2026-03-21 13:42:06 -04:00
  • eeca930cbd fix: add EF migration for GrpcNodeAAddress/GrpcNodeBAddress columns on Sites table Joseph Doherty 2026-03-21 12:44:21 -04:00
  • 416a03b782 feat: complete gRPC streaming channel — site host, docker config, docs, integration tests Joseph Doherty 2026-03-21 12:38:33 -04:00
  • 3fe3c4161b test: add proto contract, cleanup verification, and regression guardrail tests Joseph Doherty 2026-03-21 12:36:27 -04:00
  • 49f042a937 refactor: remove ClusterClient streaming path (DebugStreamEvent), events flow via gRPC Joseph Doherty 2026-03-21 12:18:52 -04:00
  • 2cd43b6992 feat: update DebugStreamBridgeActor to use gRPC for streaming events Joseph Doherty 2026-03-21 12:14:24 -04:00
  • 25a6022f7b feat: add SiteStreamGrpcClient and SiteStreamGrpcClientFactory Joseph Doherty 2026-03-21 12:06:38 -04:00
  • 55a05914d0 feat: add SiteStreamGrpcServer with Channel<T> bridge and stream limits Joseph Doherty 2026-03-21 11:52:31 -04:00
  • d70bbbe739 feat: add StreamRelayActor bridging Akka events to gRPC proto channel Joseph Doherty 2026-03-21 11:48:04 -04:00
  • 9b0a80dcbd feat: add GrpcNodeAAddress/GrpcNodeBAddress to Site entity, CLI, and UI Joseph Doherty 2026-03-21 11:45:22 -04:00
  • 64ee316609 feat: add GrpcPort config to NodeOptions with startup validation Joseph Doherty 2026-03-21 11:42:41 -04:00
  • deb58e1f17 feat: add sitestream.proto definition and generated gRPC stubs Joseph Doherty 2026-03-21 11:41:01 -04:00
  • 826cfbee31 feat: add sitestream.proto definition and generated gRPC stubs Joseph Doherty 2026-03-21 11:37:39 -04:00
  • b76ce09221 docs: add gRPC streaming channel implementation plan with task tracking Joseph Doherty 2026-03-21 11:32:24 -04:00
  • 3efec91386 fix: route debug stream events through ClusterClient site→central path Joseph Doherty 2026-03-21 11:32:17 -04:00
  • 41aff339b2 docs: add gRPC streaming channel design plan for site→central real-time data Joseph Doherty 2026-03-21 11:26:09 -04:00
  • fd2e96fea2 feat: replace debug view polling with real-time SignalR streaming Joseph Doherty 2026-03-21 01:34:53 -04:00
  • d91aa83665 refactor(docs): move requirements and test infra docs into docs/ subdirectories Joseph Doherty 2026-03-21 01:11:35 -04:00
  • 0a85a839a2 feat(infra): add Traefik load balancer with active node health check for central cluster failover Joseph Doherty 2026-03-21 00:44:37 -04:00
  • 1a540f4f0a feat: add HTTP Management API, migrate CLI from Akka ClusterClient to HTTP Joseph Doherty 2026-03-20 23:55:31 -04:00
  • 7740a3bcf9 feat: add JoeAppEngine OPC UA nodes, fix DCL auto-reconnect and quality push Joseph Doherty 2026-03-19 13:27:54 -04:00
  • ffdda51990 fix(infra): use appConfig.Validate instead of CheckApplicationInstanceCertificate Joseph Doherty 2026-03-19 11:30:58 -04:00
  • 8f2700f11e test(infra): add integration smoke test for RealLmxProxyClient against LmxFakeProxy Joseph Doherty 2026-03-19 11:29:00 -04:00
  • 2cb592ad00 docs: add LmxFakeProxy to test infrastructure documentation Joseph Doherty 2026-03-19 11:27:30 -04:00
  • edb2ab98cb feat(infra): add LmxFakeProxy Dockerfile and docker-compose service Joseph Doherty 2026-03-19 11:26:19 -04:00
  • aef70bec7f feat(infra): wire up Program.cs with CLI args, env vars, and OPC UA bridge startup Joseph Doherty 2026-03-19 11:25:36 -04:00
  • 6852250497 feat(infra): add ScadaServiceImpl with full proto parity for all RPCs Joseph Doherty 2026-03-19 11:24:26 -04:00
  • 9cc8a1ae80 feat(infra): add TagMapper with address mapping, value parsing, and quality mapping Joseph Doherty 2026-03-19 11:20:57 -04:00
  • efbedc60a8 feat(infra): add SessionManager with full session tracking and API key validation Joseph Doherty 2026-03-19 11:20:44 -04:00
  • 1d498b94b4 feat(infra): add IOpcUaBridge interface and OpcUaBridge with OPC UA reconnection Joseph Doherty 2026-03-19 11:20:25 -04:00
  • 1b27b89ca0 feat(infra): scaffold LmxFakeProxy project with proto and test project Joseph Doherty 2026-03-19 11:15:54 -04:00
  • 3e93a0d8c3 docs: add LmxFakeProxy implementation plan with 10 tasks Joseph Doherty 2026-03-19 11:13:51 -04:00
  • e19a568b9b docs: add LmxFakeProxy design — OPC UA-backed test proxy for LmxProxy protocol Joseph Doherty 2026-03-19 11:08:47 -04:00
  • e837eae2cc feat: wire real LmxProxy gRPC client into Data Connection Layer Joseph Doherty 2026-03-18 11:57:18 -04:00
  • da683d4fe9 fix: lazy-compile API method scripts and prefix composed alarm trigger attributes Joseph Doherty 2026-03-18 09:30:12 -04:00
  • db387c6613 fix: include recipients in artifact deployment and load shared scripts on startup Joseph Doherty 2026-03-18 09:13:10 -04:00
  • 78fbb13df7 feat: wire Inbound API Route.To().Call() to site instance scripts and add Roslyn compilation Joseph Doherty 2026-03-18 08:43:13 -04:00
  • eb8ead58d2 feat: wire SQLite replication between site nodes and fix ConfigurationDatabase tests Joseph Doherty 2026-03-18 08:28:02 -04:00
  • f063fb1ca3 fix: wire DCL tag value delivery, alarm evaluation, and snapshot timestamps Joseph Doherty 2026-03-18 07:36:48 -04:00
  • 9c6e3c2e56 feat: add CLI debug snapshot command for one-shot instance state inspection Joseph Doherty 2026-03-18 07:16:22 -04:00