- ConsoleLogConfig 增加 Meshtastic 字段(默认 true);旧配置自动补齐 - meshtasticFilterHook 增加 packetConsoleLog;OnPublish 中根据开关调用 新的 printMeshtasticRecord 输出可读单行(key=value、按 type 着色), 替代原来的 JSON dump;事件型 printJSON 调用保持不变 - 新增 internal/mqttforward/ClientStats,按 client_id 累计 in/out 报文计数 - meshtasticFilterHook 多挂 OnPacketRead / OnPacketSent / OnDisconnect 事件,用于增减计数;Provides() 同步声明 - AdminMQTTClient JSON 视图删除 RemoteHost/RemotePort,新增 packets_in / packets_out;前端 types.ts、AdminDashboard.vue 同步更新 Co-Authored-By: Claude <noreply@anthropic.com>
MeshMap Frontend
Vue 3 + TypeScript + Vite frontend for the Meshtastic MQTT server.
Features
- Left panel: recent chat messages
- Right panel: Leaflet/OpenStreetMap node map
- Bottom panel: selected node details, recent messages, and recent positions
The app uses relative /api URLs. In development, Vite proxies /api to the Go backend.
Development
Start the Go backend:
go run . --web-host 127.0.0.1 --web-port 8080
Start the frontend dev server:
cd meshmap_frontend
npm install
npm run dev
Production build
cd meshmap_frontend
npm run build
The build output is written to the repository root dist/ directory, which is served by the Gin backend.
Map tiles
The map uses Leaflet with OpenStreetMap tiles:
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
Network access to the tile server is required unless this is changed to a local tile source later.