Matthias Nott
2026-03-22 c4ce6380fbfa55f22e9c20bb2ccffe4456ed9683
refs
author Matthias Nott <mnott@mnsoft.org>
Sunday, March 22, 2026 17:37 +0100
committer Matthias Nott <mnott@mnsoft.org>
Sunday, March 22, 2026 17:37 +0100
commitc4ce6380fbfa55f22e9c20bb2ccffe4456ed9683
tree 7871c4fe34348e3f22d89b10c847a48045b4697c tree | zip | gz
parent 39c4ba41fd1862cce72d3b370db2cf1dfe8af276 view | diff
feat: MQTT client replaces WebSocket (Phase 2)

- New MqttService with mqtt_client package on port 1883
- Drop-in replacement for WebSocketService (same callback interface)
- Subscribes to all pailot/# topics per MQTT spec
- Topic-based routing: messages, typing, screenshots, control
- Persistent client ID (pailot-{uuid}) in SharedPreferences
- Auto-reconnect handled by mqtt_client natively
- Message dedup via mid (message ID) set
- MQTT token field added to settings and ServerConfig
- WebSocketService kept but unused (Phase 3 removal)
1 files added
6 files modified
changed files
lib/models/server_config.dart diff | view | blame | history
lib/providers/providers.dart diff | view | blame | history
lib/screens/chat_screen.dart diff | view | blame | history
lib/screens/settings_screen.dart diff | view | blame | history
lib/services/mqtt_service.dart diff | view | blame | history
pubspec.lock diff | view | blame | history
pubspec.yaml diff | view | blame | history