UI-регресс 2026-05-06 — реальный пользовательский сценарий
После API-регресса нужно было проверить, что из открытых багов реально видит пользователь в админ-SPA. Использовал свежую учётку demo3@nirbi.ru (отдельная франшиза a0c0ffee-...3, 0 ТТ, 0 заказов) — чтобы не трогать admin@erp.local, которая идёт на демо.
Главный вывод
Из 8 «open» багов после API-регресса 3 не воспроизводятся в реальном UI:
- F4 (6 admin-routes 404) — это были не SPA-роуты, а API-only пути (
/admin/tables,/admin/warehouseбез префикса). В SPA реальные роуты —/admin/warehouse/inventory,/admin/warehouse/receipt-actsи т.д., и они все работают. → retracted - F32 (отрицательная цена опции модификатора) — в форме создания модификатора поля
priceнет вообще. Пользователь физически не может ввести отрицательную цену. Цена опций живёт в прейскуранте (отдельный экран). → retracted - F44 (POST modifier-groups игнорит options.price) — то же что F32: UI просто не отдаёт это поле. → retracted
- F45 (DELETE оставляет orphan) — оказался by-design soft-delete. UI явно сообщает «Группа будет перемещена в удалённые», есть вкладки «Активные/Удалённые»,
?deleted=trueкорректно отдаёт удалённое. → retracted
Чисто API-баги (silent-accept) — F6a, F41, F44, F46 — это технический долг, который ловит только тот, кто пишет интеграции через API в обход UI. Реальный пользователь админки на них не наткнётся.
Найдено три новых UI-бага
F47 — после удаления последнего модификатора пропадают вкладки 🟢 Minor
Сценарий: пользователь имеет одну группу модификаторов → удаляет её через «…» → «Удалить» → подтверждает → список «Активные» становится пустым. Вместо empty-state с сохранёнными вкладками — отрисовывается главный empty-screen «Модификаторы пока не добавлены» БЕЗ вкладок «Активные/Удалённые». Доступа к удалённым из UI больше нет.
F48 — Dashboard: «Роль: —» и пустой Franchise ID 🟢 Minor
Сценарий: после логина пользователь видит карточку «Информация о пользователе». При этом /auth/me возвращает roles: [{id: ...}] и franchise.id, но UI показывает «Роль: —» и оставляет «Franchise ID:» пустым. Скорее всего, UI ждёт role.name (которое не отдаётся), вместо того чтобы догрузить роль по id.
F49 — /admin/warehouse редиректит молча 🟢 Minor
Сценарий: пользователь вбивает в адрес /admin/warehouse → 1 сек «Загрузка…» → редирект на dashboard без какого-либо сообщения. Аналогично для /admin/finance, /admin/catalog, /admin/orders (без подраздела). Пользовательски-непредсказуемо. Лучше показывать первый подраздел или «Выберите подраздел».
Карта SPA-роутов сайдбара (29 шт., 0 редиректов)
Все sidebar-пункты у demo3 (полные права) живые:
- Корневые: Dashboard, Юридические лица, Торговые точки
- Сотрудники: /employees, /roles, /schedule, /schedule/templates, /activity/employees, /activity/terminals, /payroll/formulas, /payroll
- Каталог: /catalog/products, /catalog/modifiers, /catalog/categories, /catalog/price-lists, /catalog/time-tariffs, /catalog/menu-availability, /external-menus (не /catalog/!), /catalog/ingredients, /catalog/stop-lists, /catalog/kitchen-stations
- Склад: /warehouse/inventory, /warehouse/receipt-acts, /warehouse/write-off-acts
- Заказы: /orders/active, /orders/history, /kitchen, /transactions, /shifts/monitor
- Финансы: /tips (только Чаевые)
- Настройки KDS: /kds-settings
- Устройства: /devices
Что осталось
- F26 (RRN/card_last4 в UI) — не проверено. На demo3 нет заказов; для проверки нужен или admin@erp.local в чтении (не хочу трогать без согласования), или создать заказ + оплату на demo3 (длинный сценарий, нужны Александр + ТТ + товары).
- F1, F6a, F6b, F41, F46 — чистый API silent-accept, реальному пользователю не виден.
- F40 — нужен POS-desktop с Александр.
- F2, F7, F16-warehouse-functional, F39 — требуют наполнения данных или уточнения у разраба.
Артефакты
Скриншоты лежат в ../screenshots/2026-05-06-ui-regression/ (см. README в той папке для маппинга на F-NN).
Привязанные к багам:
F32-F44-modifier-form-no-price-field.png— нет поля цены опции (→ retract F32, F44)F45-soft-delete-confirmation-dialog.png— диалог «перемещена в удалённые» (→ retract F45)F47-tabs-disappear-after-last-delete.png— исчезновение вкладок (F47, новый)F48-dashboard-empty-role-and-franchise.png— Роль/Franchise ID пустые (F48, новый)F49-warehouse-silent-loading.png+F49-warehouse-redirect-to-dashboard.png— молчаливый редирект (F49, новый)
Контекстные:
context-stop-lists-loading.png,context-stop-lists-store-chooser.pngcontext-modifiers-empty-state.png,context-modifiers-list-with-test-item.png,context-modifier-actions-menu.png
Итог сессии
- Открытых user-facing багов после UI-проверки: F16 (warehouse функционал не виден без выбора ТТ + молчаливый редирект → F49), F26 (отложено), F40 (POS), F25/F27/F37/F42 (POS).
- Новые UI-баги: F47, F48, F49.
- Retracted: F4, F32, F44, F45.
- 13 fixed после API-регресса остаются fixed.