[web] /admin: уведомления не показываются — message.error is not a function (нет antd <App>) #151

Closed
opened 2026-10-21 08:57:57 +03:00 by aep · 1 comment
Owner

Перенесено из RSHB/arm-web#7 (репозиторий arm-web заморожен 21.10.2026, фронт ведётся в web/ этого репозитория). Номера #N в тексте ниже — issue и PR arm-web; пути src/... — теперь web/src/....


Найдено при обновлении гайда тестировщика (RSHB/arm-ka-docs#66), ветка feat/3-demo-prototype (8.10.2026).

Шаги: войти admin@armka.local → «Пользователи и роли» → «Создать пользователя», email x@corp.local (или любой, на который сервер ответит ошибкой) → «Создать».
Ожидание (qa-guide §6.1, A3/A4): уведомление с текстом ошибки сервера.
Факт: в консоли pageerror: message.error is not a function, модалка остаётся открытой без сообщения. По коду то же для успехов («Сохранено ролей: N») и для 409 LAST_ADMIN в матрице прав.

Причина (по коду): widgets/Admin/hooks.ts:11, UsersTable.tsx:33, PermissionMatrix.tsx:42 берут message из App.useApp(), а antd <App> в дереве не подключён (src/index.tsx:45 — приложение, не antd App); контекст по умолчанию — {message:{}}.
Остальные экраны используют статический message и работают (есть предупреждение antd «Static function can not consume context»).

Перенесено из RSHB/arm-web#7 (репозиторий arm-web заморожен 21.10.2026, фронт ведётся в `web/` этого репозитория). Номера `#N` в тексте ниже — issue и PR **arm-web**; пути `src/...` — теперь `web/src/...`. --- Найдено при обновлении гайда тестировщика (RSHB/arm-ka-docs#66), ветка feat/3-demo-prototype (8.10.2026). Шаги: войти admin@armka.local → «Пользователи и роли» → «Создать пользователя», email `x@corp.local` (или любой, на который сервер ответит ошибкой) → «Создать». Ожидание (qa-guide §6.1, A3/A4): уведомление с текстом ошибки сервера. Факт: в консоли `pageerror: message.error is not a function`, модалка остаётся открытой без сообщения. По коду то же для успехов («Сохранено ролей: N») и для 409 LAST_ADMIN в матрице прав. Причина (по коду): `widgets/Admin/hooks.ts:11`, `UsersTable.tsx:33`, `PermissionMatrix.tsx:42` берут `message` из `App.useApp()`, а antd `<App>` в дереве не подключён (`src/index.tsx:45` — приложение, не antd App); контекст по умолчанию — `{message:{}}`. Остальные экраны используют статический `message` и работают (есть предупреждение antd «Static function can not consume context»).
Author
Owner

Приложение обёрнуто в antd <App> (web/src/App.tsx:28), в админке message берётся из App.useApp(). Закрываю.

Приложение обёрнуто в antd `<App>` (`web/src/App.tsx:28`), в админке `message` берётся из `App.useApp()`. Закрываю.
aep closed this issue 2026-10-25 19:16:57 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#151
No description provided.