Commit Graph

  • a405623ec1 refactor(web): remove realtime log stream, compact event list to single line caoqianming 2026-03-24 16:39:01 +0800
  • d88d8375fd fix(frontend): pre-select active unit when opening new equipment modal caoqianming 2026-03-24 16:35:33 +0800
  • d1131c4e2d fix(frontend): show fault/comm locked state in runtime badge caoqianming 2026-03-24 15:04:17 +0800
  • b5a8d6a71d fix(engine): correct fault equipment ID lookup and all_roles data structure caoqianming 2026-03-24 15:03:26 +0800
  • 0c2ce48d23 feat(frontend): handle UnitRuntimeChanged WebSocket message caoqianming 2026-03-24 14:58:29 +0800
  • 21f6008cba feat(frontend): add start/stop control buttons to equipment cards caoqianming 2026-03-24 14:58:16 +0800
  • 89023e867b feat(frontend): show runtime state and auto/ack buttons on unit cards caoqianming 2026-03-24 14:58:07 +0800
  • 31ccf49b75 feat(frontend): add runtimes map to state caoqianming 2026-03-24 14:57:41 +0800
  • d2bd567799 feat(main): register control engine routes and start engine caoqianming 2026-03-24 14:56:19 +0800
  • 856c888667 feat(control): add start-auto, stop-auto, ack-fault, runtime endpoints caoqianming 2026-03-24 14:56:16 +0800
  • 459bb49c65 feat(control): implement state machine engine with fault/comm monitoring caoqianming 2026-03-24 14:53:59 +0800
  • 5c0b99c0d4 feat(service): add get_all_enabled_units and get_equipment_by_unit_id caoqianming 2026-03-24 14:48:30 +0800
  • 6a4c3b1d39 feat(websocket): add UnitRuntimeChanged message type caoqianming 2026-03-24 14:47:35 +0800
  • 68e724898c feat(event): add business control events (fault, comm, auto, state change) caoqianming 2026-03-24 14:46:25 +0800
  • 684ca9da85 feat(control): reject manual commands when unit is fault/comm locked caoqianming 2026-03-24 14:44:48 +0800
  • 628553f2b8 refactor(control): extract pulse command helper to control/command.rs caoqianming 2026-03-24 14:31:37 +0800
  • 9194bd1dca feat(control): add auto_enabled and flt_active to UnitRuntime caoqianming 2026-03-24 14:23:53 +0800
  • 49a4afa4a4 feat(web): auto-toast on API errors with dismissible notifications caoqianming 2026-03-24 13:43:57 +0800
  • f7dc39a70a fix: point bind bug caoqianming 2026-03-24 13:39:45 +0800
  • a38204511a refactor(control): align point roles and equipment kind caoqianming 2026-03-24 13:17:53 +0800
  • 2d80266422 fix(opcua): trigger reconnect on BadTimeout and tighten subscription params caoqianming 2026-03-24 12:50:55 +0800
  • 0b9b7aef7d fix(opcua): relax subscription timeout handling caoqianming 2026-03-24 12:28:23 +0800
  • c50127b9d0 feat(event): stream created events over websocket caoqianming 2026-03-24 12:28:12 +0800
  • 97d2f6ebf8 feat(control): add manual equipment pulse commands caoqianming 2026-03-24 11:16:50 +0800
  • 1f29eb3871 feat(web): add unit and event management views caoqianming 2026-03-24 10:56:57 +0800
  • 4e3d325437 feat(control): add unit and event foundation caoqianming 2026-03-24 10:20:23 +0800
  • 4d53ee0337 refactor(web): split index html into flat fragments caoqianming 2026-03-23 14:14:19 +0800
  • 6cdc51a249 refactor(point): fold binding into edit action caoqianming 2026-03-23 13:20:03 +0800
  • e55c1d5efb fix(chart): restore realtime updates and axes caoqianming 2026-03-23 12:55:12 +0800
  • fec7b60d6b feat(web): reorganize equipment layout and point flows caoqianming 2026-03-23 12:49:26 +0800
  • 06ace5e67d refactor(app): split services and web modules caoqianming 2026-03-23 11:31:38 +0800
  • 8be82e372e feat(point): add equipment metadata scaffolding caoqianming 2026-03-23 10:38:20 +0800
  • a691f07e8e feat(web): add API.md drawer preview caoqianming 2026-03-20 19:00:46 +0800
  • 920e37f759 feat(web): add inline point chart panel caoqianming 2026-03-20 10:54:20 +0800
  • bf548161a6 feat: 心跳检测设置为4秒 caoqianming 2026-03-20 09:58:15 +0800
  • 8eb1d6671a perf(connection): reduce subscription lock contention caoqianming 2026-03-17 08:28:55 +0800
  • f33d989905 perf(point): batch point creation queries caoqianming 2026-03-17 08:25:04 +0800
  • 7e6c7a7e4c feat(reconnect): add retry backoff and manual reconnect caoqianming 2026-03-17 08:15:54 +0800
  • dd110919dd style(web): remove rounded corners and localize card titles caoqianming 2026-03-16 10:25:32 +0800
  • f33c96a4e5 fix(opcua): default point quality to Good when status is absent caoqianming 2026-03-16 09:57:37 +0800
  • ae134c722a refactor(ui): redesign web interface with flat modern style caoqianming 2026-03-16 08:48:12 +0800
  • 503aefc4cb refactor(event): rename ReloadEvent to AppEvent and split event channels caoqianming 2026-03-13 14:44:30 +0800
  • 5fa63ad6dd fix(opcua): stabilize reconnect loop and coalesce telemetry events caoqianming 2026-03-13 14:26:50 +0800
  • 5406568969 fix: harden event handling and source safety caoqianming 2026-03-13 14:22:16 +0800
  • 6f215162a3 feat(page): add page table and CRUD handlers caoqianming 2026-03-11 13:54:14 +0800
  • efed6aa816 feat: add page caoqianming 2026-03-11 13:23:05 +0800
  • 1374abe550 feat(log): add file-based log APIs and switch file logs to JSON caoqianming 2026-03-09 14:47:19 +0800
  • 63bcf679c2 fix(opcua): reconnect when subscription becomes invalid caoqianming 2026-03-09 08:58:40 +0800
  • 0893c9783c fix: 修复心跳检查中订阅状态判断逻辑,避免启动时误触发重连 caoqianming 2026-03-06 13:51:47 +0800
  • 5dc1081c90 改进心跳检测中的订阅状态检查,通过读取服务器节点属性来验证订阅是否真正有效 caoqianming 2026-03-06 12:57:22 +0800
  • afab910780 在 DataChangeCallback 中添加 BadNoSubscription 错误检测 caoqianming 2026-03-06 10:58:27 +0800
  • d4d5749ccc 优化 OPC UA event_loop 监控和重连机制 caoqianming 2026-03-06 10:01:18 +0800
  • 76b6e17927 feat: save event_loop handle to avoid ghost session caoqianming 2026-03-06 09:38:14 +0800
  • b197607d5f refactor: 添加 allocate_client_handle 函数封装句柄分配逻辑 caoqianming 2026-03-06 09:22:55 +0800
  • a2208e8958 perf: 将 poll_points 改为 Arc<Vec<PollPointInfo>> 以减少 clone 开销 caoqianming 2026-03-06 09:16:18 +0800
  • 487d3cdf26 refactor: 优化 unsubscribe_points_from_source 中 status 锁粒度,使用 get_session 函数 caoqianming 2026-03-06 09:13:30 +0800
  • 4d88bcbce3 refactor: 优化 heartbeat 中 status 锁粒度,使用 get_session 函数 caoqianming 2026-03-06 09:09:42 +0800
  • afac9f1eb9 fix: 修复 poll task 中 results 和 poll_points 可能错位的 bug caoqianming 2026-03-06 09:04:50 +0800
  • 8e4abd0af9 feat: 添加重连保护机制修复重复重连问题 caoqianming 2026-03-06 09:01:15 +0800
  • aaf887a6fc 优化PointNewValue事件处理:并行执行update_point_monitor_data和send_to_public,移除不必要的ws_manager_clone caoqianming 2026-03-05 15:28:04 +0800
  • ee3ee273b2 refactor: merge set_pool and start_reconnect_task into set_pool_and_start_reconnect_task caoqianming 2026-03-05 14:01:40 +0800
  • 0f37c9435e feat: 实现心跳检测和自动重连功能 caoqianming 2026-03-05 13:27:13 +0800
  • 494cf1d656 优化连接流程:connect_from_source自动处理订阅,简化main.rs caoqianming 2026-03-05 11:18:30 +0800
  • a2217a991c 重构ConnectionManager:简化get_session方法,移除pool依赖,重命名new_with_pool为new caoqianming 2026-03-05 11:13:10 +0800
  • 5685c33687 优化main.rs日志打印:移除重复日志,使用并发处理source连接和订阅 caoqianming 2026-03-05 11:08:01 +0800
  • a63433e757 优化点取消订阅逻辑:从轮询列表中移除所有传入点,并记录订阅点和轮询点的移除数量 caoqianming 2026-03-05 11:01:20 +0800
  • 8230536c73 refactor: 在 connect 方法中启动统一轮询任务,移除 start_polling_for_points 方法 caoqianming 2026-03-05 10:52:27 +0800
  • 114d350e5b refactor: 移除 ReloadEvent::PointCreate,统一使用 PointCreateBatch caoqianming 2026-03-05 09:31:52 +0800
  • a6be0827d0 refactor: 统一轮询任务实现,移除 scan_interval_s 字段 caoqianming 2026-03-05 09:30:30 +0800
  • d156108148 feat: 为 get_tag_list 接口添加分页功能 caoqianming 2026-03-04 15:19:39 +0800
  • f9284303f6 fix: 改进错误处理机制,支持查询参数反序列化和多种Axum响应类型转换 caoqianming 2026-03-04 14:11:59 +0800
  • 550c7b3974 修改migrate名称 caoqianming 2026-03-04 13:57:40 +0800
  • 606b57eb73 refactor: 优化点位列表查询功能 caoqianming 2026-03-04 13:39:06 +0800
  • fdb4f10ba4 feat: 添加通用的分页工具模块 caoqianming 2026-03-04 13:37:58 +0800
  • 3311823800 优化数据序列化:时间戳使用本地时间格式,简化 DataValue 输出 caoqianming 2026-03-04 12:41:14 +0800
  • 1ddb707a9b 优化 WebSocket 消息发送:移除不必要的 clone,注释掉 send_to_client caoqianming 2026-03-04 12:35:22 +0800
  • 173814416f 修复潜在的死锁问题:将读锁的作用域限制在块内,避免在持有读锁时尝试获取写锁 caoqianming 2026-03-04 12:20:13 +0800
  • 6f62d753a5 修复编译警告:将 PollPointInfo 改为公开,移除未使用的字段 caoqianming 2026-03-04 11:26:38 +0800
  • 475ac02322 重构:将 poll_task_handles 和 poll_points 合并为一个双向映射,使用 PollPointInfo 结构 caoqianming 2026-03-04 11:24:13 +0800
  • b22225ad72 重构:将 poll_points_by_source 的内层 HashSet 移动到 ConnectionStatus 中,简化数据结构 caoqianming 2026-03-04 11:16:08 +0800
  • 4bb9bdd27d 优化 event.rs 中的克隆操作,减少 monitor 的克隆次数从 3 次减少到 1 次 caoqianming 2026-03-04 08:47:24 +0800
  • 562a2d566b feat: 为 PointMonitorInfo 添加旧值追踪和值变化检测 caoqianming 2026-03-04 08:35:28 +0800
  • 8127d04855 refactor: 将 PointValueChange 重命名为 PointNewValue caoqianming 2026-03-03 16:56:37 +0800
  • cc7142e556 refactor: 统一使用 PointMonitorInfo,移除 WsPointMonitorInfo caoqianming 2026-03-03 16:51:18 +0800
  • a82921193c PointNewValue caoqianming 2026-03-03 16:44:53 +0800
  • 02de1f4552 feat: 添加ValueType枚举并更新相关结构体 caoqianming 2026-03-03 15:41:35 +0800
  • c88a0b2398 修复编译错误和警告: 添加缺失的导入,移除未使用的导入和变量 caoqianming 2026-03-03 13:39:58 +0800
  • 44f4a794d3 feat: 软件第一个版本 caoqianming 2026-03-03 13:30:49 +0800