Commit Graph

  • 532eeaba42 feat(simulate): chaos task for rem/flt signal testing caoqianming 2026-03-26 10:11:05 +0800
  • 9d787e452b feat(events): use Chinese messages with entity names caoqianming 2026-03-26 09:53:26 +0800
  • 0b7f2401bd feat(ws): refresh units and equipments on WebSocket reconnect caoqianming 2026-03-26 09:37:00 +0800
  • e304fd342d feat(ops): embed role_points in equipment list, remove unit detail API calls caoqianming 2026-03-26 09:34:59 +0800
  • 0e8d194a70 fix(web): remove duplicate loadAllEquipmentCards call in startOps caoqianming 2026-03-26 09:23:09 +0800
  • 08add0d087 refactor(api): embed runtime in unit list/get/detail responses caoqianming 2026-03-26 09:18:14 +0800
  • 42cdbbc0cc fix(web): fetch all unit runtimes on page load caoqianming 2026-03-26 09:11:47 +0800
  • b3f92867bc fix(engine): fix supervisor restart, deduplicate helpers, fix notify race caoqianming 2026-03-26 09:08:25 +0800
  • 4ce91adf60 refactor(web): remove dead code and translate plan docs to Chinese caoqianming 2026-03-26 08:57:29 +0800
  • dd0e782450 fix(engine): push WS immediately on notify wake-up caoqianming 2026-03-26 08:44:46 +0800
  • 8c1b7b636d refactor(engine): replace 500ms ticker with per-unit event-driven tasks caoqianming 2026-03-26 08:33:00 +0800
  • da03441c11 refactor(events): display each event on a single line caoqianming 2026-03-25 16:40:43 +0800
  • a8d36578fa feat: ws backoff, signal dots, dom cap, unwrap fix, batch size limit caoqianming 2026-03-25 16:37:14 +0800
  • 13c4b515d7 fix(docs): widen API drawer and fix TOC scroll hijacking window caoqianming 2026-03-25 14:41:17 +0800
  • 22ae4fa4b4 docs(api): add missing Tag, Page, Log sections and batch-auto/set-tags endpoints caoqianming 2026-03-25 14:27:49 +0800
  • bc6e6e889f feat(events): infinite scroll with page_size=10, replace full re-render caoqianming 2026-03-25 13:23:18 +0800
  • 2a247dd70b fix(toast): remove shake class before hiding to ensure animationend fires caoqianming 2026-03-25 13:16:50 +0800
  • b7d55fed81 refactor(web): unify toast — remove duplicate, reuse api.js showToast caoqianming 2026-03-25 13:11:23 +0800
  • 69ae0b05b7 feat(web): add toast notifications + WS disconnect alert caoqianming 2026-03-25 13:08:14 +0800
  • 757d6f9a3a feat(control): batch start/stop auto control for all enabled units caoqianming 2026-03-25 13:05:23 +0800
  • 0077a4ad90 fix(engine): stop coal_feeder before starting distributor on acc_time trigger caoqianming 2026-03-25 13:00:24 +0800
  • 3a8a2c1389 fix(sim): try OPC UA write first in simulate_run_feedback, fallback to cache patch caoqianming 2026-03-25 12:50:26 +0800
  • b28ac23520 feat(web): show WS connection status indicator in topbar caoqianming 2026-03-25 12:41:50 +0800
  • b832d98196 fix(control): block manual commands during auto, fix engine stop_time=0 bug, add sim feedback caoqianming 2026-03-25 12:37:43 +0800
  • 989a0286e9 feat(sim): simulate RUN signal feedback when SIMULATE_PLC=true caoqianming 2026-03-25 11:08:38 +0800
  • 36cfe9ecfc feat(web): add runtime badge and auto/ack buttons to ops unit list caoqianming 2026-03-25 10:47:09 +0800
  • 4076f6575e feat(web): dual-view UI — 运维/配置 tab, ops equipment cards with live signal values caoqianming 2026-03-25 10:25:20 +0800
  • c2ed1e70fb docs(api): rewrite API.md to cover all current endpoints caoqianming 2026-03-25 08:50:47 +0800
  • 2732238be7 feat(api): add GET /api/unit/{id}/detail with nested equipment and points caoqianming 2026-03-25 08:37:09 +0800
  • 884f6ba5f3 docs: update feature spec with current implementation status caoqianming 2026-03-25 08:27:09 +0800
  • dae5bdcb9e fix(web): fix node count showing 2x by counting only details elements caoqianming 2026-03-25 08:27:06 +0800
  • 622d010cb1 fix(server): add Cache-Control: no-store to static file responses caoqianming 2026-03-24 16:57:39 +0800
  • 3e277cdb52 refactor(web): event card layout to 2-line (meta row + message row) caoqianming 2026-03-24 16:46:32 +0800
  • 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