-
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