Skip to content

fix: убрать глобальное предупреждение о скрытых чатах - #406

Merged
TThanos3000 merged 1 commit into
devfrom
fix/hidden-chat-connection-notice
Oct 10, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
fix/hidden-chat-connection-notice

Conversation

@TThanos3000

Copy link
Copy Markdown
Contributor

Что изменено

При сбое фонового соединения скрытых чатов больше не появляется глобальное сообщение о недоступности. Автоматическое переподключение и обновление онлайн-статусов пользователей продолжают работать.

Зачем

Чаты скрыты в навигации, но Office подключается к /ws/chat/ для онлайн-статусов. Ошибка этого канала не означает, что платформа или HTTP API недоступны. Уведомление, добавленное в #405, вводило пользователя в заблуждение. Исправление вынесено в отдельный PR от dev после merge #405 (c2413ce6).

Реализация

Удалены ConnectionStatusToastService и его глобальная инициализация в AppComponent. Regression test проверяет отсутствие snackbar при двух сбоях и сохранение обычных сообщений об ошибках. Browser-сценарий обновлён: две серии retry, два восстановления, онлайн/офлайн-статусы и отсутствие даже кратковременного уведомления. Отчёт: hidden-chat-notice.md.

API

Не менялся: WebSocket transport, события, очередь и retry, HTTP API и бизнес-правила вне diff.

UI

Удалено только глобальное предупреждение о скрытом фоновом канале. Общий snackbar и сообщения об ошибках пользовательских операций сохранены. HTML/SCSS, desktop/mobile layout, кнопки, навигация и страницы не менялись (source review). Browser evidence: Chrome/Windows, 390 px, синтетические HTTP/WebSocket fixtures, неизменённая сборка build:pr.

Permissions

Не менялись: авторизация и правила доступа вне diff.

Проверки

  • npm run test:ci — 2014 tests / 406 files, exit 0. Три существующих legacy exclusions не изменены.
  • Адресные tests для AppComponent, WebsocketService, ChatRealtimeRepository, SnackbarComponent — 14 tests / 4 files, exit 0.
  • npm run build:pr — exit 0.
  • npm run lint:ts — exit 0, 0 errors; 6 существующих warnings вне diff.
  • npm run format:check — полный tracked-снимок Git index с LF, как в CI; exit 0.
  • Browser: HTTP доступен при сбое WebSocket; retry продолжается после порога, оба сбоя без snackbar, после обоих восстановлений online badge обновляется; set_offline убирает badge. MutationObserver: ни одного временного snackbar; console errors отсутствуют.
  • Source review и git diff --check — существенных незакрытых замечаний нет.

Acceptance criteria

  • Скрытый фоновый канал не сообщает о глобальной недоступности — AppComponent test и browser, включая второй обрыв.
  • Reconnect и онлайн-статусы сохранены — transport/repository tests и browser recovery.
  • Обычные сообщения ошибок сохранены — AppComponent/Snackbar tests; HTTP/error paths вне diff.
  • Desktop/mobile layout сохранён — HTML/SCSS и компоненты страниц вне diff; повторное pixel-сравнение неприменимо к удалению listener уведомления.

Не проверено

Реальные iOS/Android, Safari/WebKit и настоящие сетевые сбои на dev-стенде. После merge проверить возврат из фона и онлайн-статусы на устройствах. В репозитории нет workflow для PR; проверочный deploy workflow запускается по push в dev после merge. Проверки выше выполнены локально.

Риски / migration

Миграции и backend deployment не требуются. Недоступность фонового канала может задерживать обновление онлайн-статусов до восстановления соединения; retry сохранён. Если чаты будут снова показаны, их состояние подключения следует отображать в интерфейсе чата.

@TThanos3000
TThanos3000 merged commit f3df1c8 into dev Oct 10, 2026
@TThanos3000
TThanos3000 deleted the fix/hidden-chat-connection-notice branch October 10, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants