54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
# 2026-06-06 — Полная сессия (полевой тест + 9 багов + фиксы)
|
||
|
||
## Текущий статус
|
||
- **Версия:** v0.47.0-dev
|
||
- **APK:** https://obdai.ru/elmer.apk
|
||
- **Сервер:** https://obdai.ru (5.172.178.213, nginx+gunicorn)
|
||
- **Android repo:** github.com/Repinoid/elmer-android
|
||
- **Server repo:** gitea.services.ngcloud.ru/Nail/elmer
|
||
|
||
## Хронология коммитов (Android)
|
||
|
||
| Коммит | Описание |
|
||
|--------|----------|
|
||
| `6a33048` | fix: checkDevice() забыл connectAndInit() |
|
||
| `739afa9` | fix: connect() идемпотентный + run() без двойного connect |
|
||
| `94b890f` | bump v0.43.0-dev |
|
||
| `71618c6` | fix: статус-строка — append вместо overwrite |
|
||
| `d49f6d6` | fix: все appendStatus с \n, таймер на своей строке |
|
||
| `3ef3532` | fix: scriptRegistered сброс в onDestroy |
|
||
| `dead66c` | fix: init без ретраев, v1.5-совместимость |
|
||
|
||
## Все 9 багов
|
||
|
||
1. checkDevice без connectAndInit — AT-команды без BT-сокета
|
||
2. connect не идемпотентный — guard socket.isConnected
|
||
3. run двойной connect
|
||
4. Статус-строка overwrite — всё на appendStatus(\n...)
|
||
5. Таймер съедал заголовок — \n вместо пробела
|
||
6. scriptRegistered не сбрасывался после поворота
|
||
7. init() 70 секунд на ATAT1 — write+tryRead(2s) вместо exec
|
||
8. checkDevice слал v2-команды на v1.5 — проверка isV2
|
||
9. recover/updateAtst/handle длинные таймауты — 2000-3000мс
|
||
|
||
## ELM327: версии и команды (Wikipedia)
|
||
|
||
- **v1.5 НЕ СУЩЕСТВУЕТ** — клон v1.0/v1.4 с фейковой версией
|
||
- ATAT1 (adaptive timing): с v1.2
|
||
- AT@1/AT@2 (device ID): с v1.3
|
||
- ATST (set timeout): с v1.2
|
||
- Базовые (ATI, ATDP, ATRV, ATSP, ATE0, ATL0, ATS0, ATWS): с v1.0
|
||
|
||
## Правила для Copilot
|
||
|
||
1. Коммит после каждой правки: git add -A && git commit -m "..." && git push
|
||
2. При деплое bump версии в android/app/build.gradle.kts
|
||
3. Формат: fix:/feat:/refactor:/bump:/docs:
|
||
|
||
## TODO
|
||
|
||
- [ ] Разбить MainActivity.kt (~470 -> <=200 строк)
|
||
- [ ] Разбить ElmChecker.kt (~270 -> <=200 строк)
|
||
- [ ] Подробные комментарии перед каждой функцией
|
||
- [ ] Полевой тест v0.47.0-dev на машине
|