Skip to content

v2.7.0

Choose a tag to compare

@iclannad iclannad released this 25 Jun 02:52
· 9 commits to main since this release

English

Added

  • Device list — server-side pagination & search. The device list is now paginated (50 / page) with server-side search by device ID / MAC / IP / description, so it stays fast and lightweight even for very large fleets.
  • Device list — online / offline filter. Quickly filter devices by online or offline status.

Improved

  • Large-fleet performance. List filtering, sorting and pagination are pushed down to the database, so the device list stays responsive with 10,000+ devices.
  • Stability under reconnect storms. Enabled SQLite WAL with a wider connection pool and reduced per-reconnect writes, so the web UI / API stay responsive when many devices reconnect at once (e.g. after a restart) — no more "database is locked".

Fixed

  • The generated device-connection script now always uses the configured GLKVM_ACCESS_IP, whether the UI is opened via IP, domain, or localhost.
  • Device registration with an empty MAC is now rejected, preventing connection failures and duplicate-key errors.
  • Device event log now pairs online / offline events correctly and damps reconnect flapping (no more orphaned offline records).
  • The device list header now shows the total device count instead of the current page's count.

中文

新增

  • 设备列表 — 服务端分页与搜索。 设备列表改为服务端分页(每页 50 条),支持按设备 ID / MAC / IP / 描述搜索,海量设备下依然轻快。
  • 设备列表 — 在线 / 离线筛选。 一键按在线或离线状态筛选设备。

优化

  • 大规模性能。 列表的筛选、排序、分页全部下推到数据库,1 万台以上设备时列表依然流畅。
  • 重连风暴下的稳定性。 启用 SQLite WAL 与更大连接池,并削减每次重连的写入;大量设备同时重连(如服务重启后)时 Web 界面 / 接口依然响应,不再出现 "database is locked"。

修复

  • 生成的设备接入脚本现在始终使用配置的 GLKVM_ACCESS_IP,无论通过 IP、域名还是 localhost 打开界面。
  • 拒绝空 MAC 的设备注册,避免设备无法接入和唯一键冲突。
  • 设备事件日志正确配对上线 / 下线事件并抑制重连抖动,不再产生孤儿离线记录。
  • 设备列表标题现在显示设备总数,而不是当前页的数量。