feat(web): статус комнаты в шапке

Описание комнаты жило только в настройках: в шапке были имя и медленный
режим, поэтому «статус комнаты» из матрицы 11.6 приходилось проверять по
REST. Теперь описание показывается рядом с названием (длинное усекается,
полный текст — в подсказке), а само поле приходит и в READY, и в событиях
комнат (AGENT.md 7.5, 11.6).

- `Channel.description` и разбор `description` в `parseChannelPayload`;
- `channel-description` в шапке комнаты;
- vitest `tests/channelHeader.test.tsx`: статус из снапшота, отсутствие
  статуса без описания и обновление по `CHANNEL_UPDATE` без перезагрузки.
This commit is contained in:
2026-09-26 11:06:28 +03:00
parent 5f21c9d069
commit 70eae99873
5 changed files with 131 additions and 0 deletions
+3
View File
@@ -257,6 +257,8 @@ interface SnapshotGuildInput {
parent_id?: string;
can_send?: boolean;
can_view?: boolean;
/** Статус комнаты: описание в шапке рядом с названием. */
description?: string;
/** Фон комнаты: файл-картинка за лентой (AGENT.md 7.5). */
background_file_id?: string;
}[];
@@ -306,6 +308,7 @@ export function makeReadySnapshot(
...(channel.parent_id === undefined ? {} : { parent_id: channel.parent_id }),
...(channel.can_send === undefined ? {} : { can_send: channel.can_send }),
...(channel.can_view === undefined ? {} : { can_view: channel.can_view }),
...(channel.description === undefined ? {} : { description: channel.description }),
...(channel.background_file_id === undefined
? {}
: { background_file_id: channel.background_file_id }),