mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 08:28:31 +00:00
fix v1.7.4: PDF upload via HTTP endpoint instead of WebSocket — root cause was WS message-size limit dropping the connection on real (>2-3MB) PDFs (which also closed the dialog via reconnect). New POST /api/houseplan/upload (HomeAssistantView, multipart, auth); verified 3MB(182ms)+10MB(446ms). Legible errors (_errText), no more [object Object]
This commit is contained in:
@@ -128,4 +128,7 @@ name?, icon?, model?, link?, description?, pdfs:[{name,url}]}`. Гибрид: а
|
||||
| `houseplan/config/get` | — | `{config, rev}` |
|
||||
| `houseplan/config/set` | `config`, `expected_rev?` | `{ok, rev}` / err `conflict`; событие `houseplan_config_updated` |
|
||||
| `houseplan/plan/set` | `space_id`, `ext` (svg/png/jpg/webp), `data` (b64, ≤8МБ) | `{ok, url}` |
|
||||
| `houseplan/file/set` | `marker_id`, `filename`, `data` (b64, ≤25МБ) | `{ok, url, name}` |
|
||||
| `houseplan/file/set` | `marker_id`, `filename`, `data` (b64) | `{ok,url,name}` (legacy, лимит WS) |
|
||||
|
||||
**Загрузка файлов — HTTP** (не WS, у него лимит размера сообщения): `POST /api/houseplan/upload`
|
||||
(multipart: marker_id + file), HomeAssistantView, requires_auth. Отдача — `/houseplan_files/files/`.
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## v1.7.4 — 2026-07-04 (PDF по HTTP вместо WebSocket)
|
||||
- КОРНЕВАЯ ПРИЧИНА невозможности загрузить PDF: файл слался как base64 одним WebSocket-сообщением,
|
||||
а у WS есть лимит размера — реальный мануал (>2–3 МБ) превышал его, соединение рвалось
|
||||
(«Connection lost»), из-за чего и падала загрузка, и закрывался диалог (обрыв WS → переподключение
|
||||
→ ре-рендер). Подтверждено тестом: 1 МБ по WS ок, 3 МБ → Connection lost.
|
||||
- Файлы-инструкции теперь грузятся через HTTP-эндпоинт `POST /api/houseplan/upload` (multipart,
|
||||
HomeAssistantView, requires_auth, admin_only-проверка) — как медиа в самом HA. Проверено:
|
||||
3 МБ (182мс) и 10 МБ (446мс) загружаются на ура.
|
||||
- Читаемые ошибки везде (`_errText`): больше никаких «[object Object]»; понятные тексты для
|
||||
too_large / bad_ext / unauthorized.
|
||||
- WS-команда houseplan/file/set оставлена для совместимости, но фронт использует HTTP.
|
||||
|
||||
|
||||
## v1.7.3 — 2026-07-04 (фиксы диалога устройства)
|
||||
- PDF-инструкции не загружались: ручной base64 (`btoa(String.fromCharCode(...subarray))`) падал
|
||||
на реальных файлах (RangeError при спреде больших массивов), а при закрытии диалога во время
|
||||
|
||||
Reference in New Issue
Block a user