doc: session 2026-04-05 — autoTimer fix deploy, progress и thinking log

This commit is contained in:
Naeel
2026-04-05 09:53:11 +03:00
parent 5e3c82d12a
commit 661218bb73
2 changed files with 58 additions and 1 deletions
+32 -1
View File
@@ -1,6 +1,37 @@
# Прогресс разработки
Последнее обновление: 2026-04-01
Последнее обновление: 2026-04-05
---
## 2026-04-05 — IoT Telemetry: деплой финального фикса autoTimer (iot-pg-telemetry)
### Задача
Задеплоить незадеплоенный фикс из предыдущей сессии: `switchTab` больше не убивает `autoTimer`.
### История багов (исправлены за сессию 2026-04-03..05)
| Коммит | Баг | Фикс |
|--------|-----|------|
| `b902e13` | HTTP 500 на вкладке Телеметрия (БД тенанта не существует) | `isDBNotExistErr()` → 200 + пустой массив |
| `233e285` | Эмулятор отключается при публикации (ACL-mismatch topic) | Topic исправлен: `{ns}/telemetry/{deviceId}` в `MQTTAuth`+`MQTTAcl` |
| `233e285` | Bridge не подписывался (`+/telemetry/+` запрещён ACL) | Bridge clientid получил разрешение subscribe |
| `911f2bd` | `autoTimer` зависел от DOM (`#emu-payload`) при переключении вкладок | `S.autoTopic` + `generateSensorPayload()` без DOM-зависимости |
| `5e3c82d` | `switchTab` убивал `autoTimer` при любом переходе на другую вкладку | Убраны все вызовы `mqttStopAuto()` из `switchTab` |
### Архитектура autoTimer после фиксов
- `autoTimer` — фоновый процесс, живёт независимо от активной вкладки
- Останавливается только: явный клик "Стоп", `mqttDisconnect()`, `nav()` (уход со страницы устройства)
- При возврате на вкладку Эмулятор кнопка показывает правильный статус из `S.autoTimer`
### E2E статус (подтверждено `233e285`)
Цепочка устройство → MQTT → bridge → Postgres → REST API работает:
`mosquitto_pub` → bridge log `forwarded IoT telemetry``GET /v1/.../iot/telemetry``{"count":1,"items":[...]}`
### Текущий статус
- ✅ Все баги телеметрии задеплоёны
- ✅ Ветка `iot-pg-telemetry`, последний коммит `5e3c82d`
- ⏳ Merge в main — когда пользователь скажет
---