С фронтенда убрали возможность несколько чатов вести

This commit is contained in:
mi
2026-07-21 14:07:24 +03:00
parent 0d7f7a819f
commit 9cfc157124
5 changed files with 29 additions and 68 deletions
+7 -6
View File
@@ -67,7 +67,7 @@ Auth state machine: `guest → authorizing → bootstrapping → authenticated`;
- загрузка `GET /api/v1/public/app-config` и `/content`;
- приветствие, популярные вопросы, textarea, attach button, send;
- индикаторы загрузки/ошибки и повтор;
- ссылка на историю и профиль (при guest запускают auth только по явному действию);
- ссылки на чат и профиль (при guest запускают auth только по явному действию);
- диагностический badge режима: guest/authenticated, WS/polling, без раскрытия token.
Выбор популярного вопроса сразу запускает тот же send flow, что ручной текст.
@@ -78,14 +78,15 @@ Modal согласий отображает актуальные URL/верси
OTP вводится на странице/теме Keycloak. В MVP Keycloak сверяет mock-код из env; frontend не хранит и не проверяет код. Для тестовой среды UI может показывать только текст «используется тестовый OTP», но не получать secret из API.
### 5.3. Диалоги и чат
### 5.3. Чат
- история: `GET /dialogs`, cursor pagination;
- карточка: статус, сообщения, composer, attachment;
- в MVP frontend показывает пользователю один чат с компанией без истории диалогов;
- пункт навигации «Чат» вызывает `POST /dialogs`: backend возвращает текущий активный диалог или создаёт новый, после чего frontend открывает `/dialogs/{dialog_id}`;
- backend-модель диалогов и `GET /dialogs` сохраняются для будущего возврата истории;
- экран чата содержит статус, сообщения, composer и attachment;
- сообщения сортируются по `created_at asc`, дубли объединяются по `message_id`;
- `waiting_for_company`, `waiting_for_client`, `closed` отображаются русскими подписями;
- экран истории содержит CTA «Новый диалог» через `POST /dialogs`;
- closed dialog readonly и содержит CTA «Начать новый диалог»;
- завершённая беседа readonly; CTA «Продолжить общение» повторно открывает текущий чат через `POST /dialogs`;
- промежуточный safety `203` клиенту не показывается: send request остаётся в progress до финального ответа.
### 5.4. Профиль