Skip to content

v0.2.25

Choose a tag to compare

@github-actions github-actions released this 23 Nov 14:39
· 85 commits to main since this release

🚀 重點新增(相較 v0.2.22)

  • 遙測/訊息儲存升級:改用 SQLite 正規化 schema,啟動時非阻塞載入快照,支援串流查詢、CSV 匯出與快速時段切換,舊 JSONL/快照會自動匯入並標示進度。
  • 節點資料庫與 CLI 強化:新增 --clear-nodedb、--summary-log 等旗標,僅 snapshot 能建立節點、invalid relay / hop limit 封包不再污染 DB,UI 會在缺資料時回落 Mesh ID。
  • APRS / TenManMap 管線:自動化 feed filter、dedup window、拒絕原因/呼號顯示、/debug snapshot 與 TenMan inbound 篩選;log 可視需求靜音或開啟詳細輸出。
  • Docker 自動更新與多架構:全新 docker-entrypoint.sh 會在背景每 AUTO_UPDATE_POLL_SECONDS(預設 300 秒)輪詢 main/dev,偵測到新 commit 後自動 git pull + npm ci 並重啟應用,且 GHCR 映像現已提供 linux/amd64、linux/arm64、linux/arm/v7(例如 NanoPi NEO 也能直接 docker pull ghcr.io/toodi0418/cmclient:latest)。
  • systemd 自啟範例:新增 systemd/callmesh-client.service.example,調整 WorkingDirectory 後即可讓主機開機時自動執行 docker compose up -d。

🛠 修正與調整

  • Web Dashboard 與 GUI 的 summary/telemetry 呈現完全同步,補齊來源/目的 Mesh ID、hop invalid 判定與節點名稱 fallback。
  • Node/relay 事件新增多層防護(placeholder Mesh ID、limit-only hop、TenMan inbound 一律忽略),並於 /debug 揭露資料來源。
  • APRS 呼號遺失、pending 狀態與拒絕後呼號重設等問題修正,CLI summary log 時戳統一採收包時間,避免桶計算漂移。
  • Telemetry CSV/查詢改採串流輸出,長區間不再卡 UI;TenManMap 互動新增節流、reply id、relay 說明等強化。

⚠️ 升級注意事項

  1. 需要 Node 22(package.json 已鎖定,CI 與 pkg 亦切換)。
  2. 首次啟動會將 telemetry-records.jsonl 與舊訊息表寫入 SQLite,請保留 CALLMESH_ARTIFACTS_DIR 空間並勿中斷流程。
  3. Docker .env 預設 AUTO_UPDATE=1、AUTO_UPDATE_POLL_SECONDS=300,偵測到新 commit 會自動重啟;若環境無法連網或要鎖定映像,請改為 AUTO_UPDATE=0。
  4. 使用 systemd 範例時務必更新 WorkingDirectory 後 sudo systemctl daemon-reload && sudo systemctl enable --now callmesh-client。
  5. APRS feed filter 現由程式自動設定,若需自訂請透過環境變數覆寫並搭配 /debug 驗證;TenMan inbound 預設被忽略,需放行時請調整 Bridge 設定。

➡️ 完整變更可見 v0.2.22...v0.2.25