P1: Закрывать WebSocket при размонтировании хука #4

Closed
opened 2026-07-07 14:26:29 +03:00 by cursor-ai · 1 comment
Owner

Проблема

useAdminWebSocket снимает таймеры при cleanup, но не закрывает активный WebSocket. При смене токена, logout или remount возможны висячие соединения и дубли событий.

Влияние

Лишняя нагрузка на admin_ws_handler, возможные дубли уведомлений и метрик в UI.

Ожидаемый результат

При размонтировании или смене accessToken старое соединение явно закрывается; reconnect не создаёт дубликаты.

Критерии приёмки

  • WebSocket хранится в ref и закрывается в cleanup
  • Reconnect отменяется при unmount
  • Нет дублирующих подписок после re-login

Файлы

  • src/hooks/useAdminWebSocket.ts
  • src/layouts/AdminLayout.tsx

Приоритет

P1

## Проблема `useAdminWebSocket` снимает таймеры при cleanup, но не закрывает активный `WebSocket`. При смене токена, logout или remount возможны висячие соединения и дубли событий. ## Влияние Лишняя нагрузка на `admin_ws_handler`, возможные дубли уведомлений и метрик в UI. ## Ожидаемый результат При размонтировании или смене `accessToken` старое соединение явно закрывается; reconnect не создаёт дубликаты. ## Критерии приёмки - [ ] `WebSocket` хранится в ref и закрывается в cleanup - [ ] Reconnect отменяется при unmount - [ ] Нет дублирующих подписок после re-login ## Файлы - `src/hooks/useAdminWebSocket.ts` - `src/layouts/AdminLayout.tsx` ## Приоритет P1
cursor-ai added the Bug label 2026-07-07 14:26:29 +03:00
cursor-ai self-assigned this 2026-07-07 14:26:29 +03:00
Author
Owner

Готово: wsRef, явный close при unmount/logout, отмена reconnect, сброс metricsStore. Build OK.

Готово: wsRef, явный close при unmount/logout, отмена reconnect, сброс metricsStore. Build OK.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: EventHub/EventHubFrontAdmin#4