mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
План уходил base64 в WebSocket-кадре: файл больше ~3 МиБ давал кадр больше 4 МиБ, HA закрывал сокет до обработчика, и обещанные 8 МБ были недостижимы. - бэкенд: HouseplanPlanUploadView (POST /api/houseplan/plans/upload), потоковый предел MAX_PLAN_BYTES (read_bounded), общий writer store_plan_upload для view и ws_plan_set (контракт WS без изменений); - карточка: stagePlanFile/uploadPlanFile/renderPlanBackdropGuard в backdrop-pick.ts для обоих рантаймов; PlanFilePayload хранит Blob вместо b64; SVG больше предела — тост при выборе, растр — диалог #39 только с уменьшенной копией, копия больше предела не попадает в staging, 413 называет предел; - i18n toast.plan_too_large, backdrop.over_limit_body (en/ru/de/fr); USER-GUIDE ru/en, CHANGELOG ru/en, docs/testing-notes (#617); - тесты: test/plan-upload-limit.test.mjs, tests_backend/test_plan_upload.py, test_ha_upload.py (#617), smoke_plan_upload_limit.mjs; три смока переведены с b64/plan/set на blob/fetchWithAuth; мутанты plan-upload-*; - база монолита: hostRefs +3 (общий хелпер плана вместо двух копий в рантаймах, новый тост уменьшенной копии). Issue: #617 User-Visible: yes
9.4 KiB
9.4 KiB
Приложения к TESTING.md — индекс
Ручные чек-листы по поверхностям и приложения по отдельным issue, перенесённые
из docs/TESTING.md дословно (#634). Действующие правила и
гейты — в самом TESTING.md. Искать по номеру issue или теме:
grep -n "#293" docs/testing-notes/README.md. Полноту индекса и каждую ссылку
сверяет test/testing-notes-index.test.mjs: раздел без строки здесь — красный
тест.
Ручной чек-лист по поверхностям
- Modes (v1.25.0) ★
- Onboarding ★
- Spaces ★
- Room markup editor ★
- Devices on the plan ★
- Device dialog (markers) ★
- Icon rules ★
- Tap actions & gestures ★
- Zoom / pan / labels
- Multi-client & concurrency ★
- houseplan-space-card (read-only embedded)
- Doors, windows & gates (v1.23.0+)
Диалоги, формы и сводная панель
- Вопрос о несохранённых настройках (#610)
- Числовые поля со слайдером (#608)
- Toggle confirmation state (#103)
- Unified color and opacity picker (#57)
- Unified picker coverage for every color field (#180)
- Contextual help (issues #68 and #86)
- Help & private feedback (#43)
- v1.71 audit polish (#434)
- Надёжность сводной панели (#493)
- Идентичность сводной панели в Masonry (#561)
- Доступность основного View (#565)
Устройства и маркеры
- Device icon design package (#179)
- Dense device-marker hit ownership (#564)
- Device marker polish and pointer modality (#212)
- Device value badge (#90)
- HA-disabled binding gate
- HA Area marker relocation (#126)
- Device display preview and face parity
- Device icon package parity (#211)
- Device marker geometry and input polish (#213)
- Text marker shell shape (#217)
- Device lock and orange foreground palette (#219)
- Unified device status and pulse activity (#98)
- Climate temperature opt-in (dev)
- Styling hooks and HA-formatted values (docs/STYLING-HOOKS.md, dev, unreleased)
Геометрия: стены, проёмы, комнаты, холст
- Stable wall-segment identity (#282)
- Legacy draft migration and atomic wall-chain writes (#314, #478)
- Current-writer fixed point (#477)
- Resize: реальный pointer pipeline (#293)
- Opening symbol centreline (#242, #250)
- Empty-space lifecycle (#113)
- Fixed card space (#210)
- Open passage (#157)
- Independent-wall openings and structural axes (#132, #185)
- Independent-wall opening jamb margin (#186)
- Room resize (docs/RESIZE.md)
- Infinite canvas (docs/CANVAS.md, dev)
- «+» adds a space from anywhere (dev, unreleased)
- Honest new-space display defaults (#204, dev, unreleased)
- Wall thickness (docs/WALL-THICKNESS.md, Unreleased)
- Wall chains, partitions and columns
- Вписывание выбранной комнаты (#152)
Декор, подложка, мебель, слои
- Decor composition order (#231)
- Custom decor images (#51)
- Backdrop picture: move & scale (docs/BACKDROP.md, dev)
- «Already uploaded» plan picker (dev, unreleased)
- The furniture library (docs/FURNITURE.md, dev, unreleased)
- The furniture library (docs/FURNITURE.md, dev, unreleased)
- Large backdrops (#39, docs/specs/039-large-backdrops.md)
- Plan upload over HTTP and the 8 MB limit (#617)
- Hiding layers: decor, openings, zero-thickness walls (docs/UX-MODES.md)
Живые слои и интеграции
- PDF export polish (#482)
- Многоэтажный робот: карты и пространства (#162)
- Vacuum trail smoothing (#209)
- Live vacuums (docs/VACUUM.md)
- Sun on the plan (docs/SUN.md)
- The text block on the plan (docs/LIVE-TEXT.md, dev, unreleased)
- Sun ray rim (docs/SUN.md «The rim», dev, unreleased)
- Coming back to the tab (docs/WARM-REMOUNT.md, dev, unreleased)
- Реальная raw-карта Zigbee2MQTT (#450)
- Порядок слоя Zigbee-топологии (#464)
- Полнота источников радара (#545)
Инфраструктура тестов и съёмки
- Issue #73 baseline and implementation (2026-08-11)
- Lazy editor runtime and frontend asset tree (#337)
- Съёмка документации запускается с флагами детерминизма (#424)
- Воспроизводимость съёмки документации (#410, #422)