diff --git a/src/hooks/useHotelSocket.ts b/src/hooks/useHotelSocket.ts index fe1daad..0c7a2a6 100644 --- a/src/hooks/useHotelSocket.ts +++ b/src/hooks/useHotelSocket.ts @@ -22,7 +22,11 @@ export function useHotelSocket({ slug, token, onMessage }: Options) { const [connected, setConnected] = useState(false) useEffect(() => { - if (!slug || !token) return + console.log('[WS] init — slug:', slug || '(empty)', 'token:', token ? 'present' : 'null') + if (!slug || !token) { + console.warn('[WS] skipped — missing slug or token') + return + } let destroyed = false let reconnectTimer: ReturnType | null = null @@ -34,6 +38,7 @@ export function useHotelSocket({ slug, token, onMessage }: Options) { const base = (import.meta.env.VITE_API_URL as string | undefined) ?? 'https://api.hotelsync.ru' const wsBase = base.replace(/^https/, 'wss').replace(/^http(?!s)/, 'ws') const url = `${wsBase}/ws?hotel=${encodeURIComponent(slug)}&token=${encodeURIComponent(token!)}` + console.log('[WS] connecting to', url.replace(/token=[^&]+/, 'token=***')) const ws = new WebSocket(url) wsRef.current = ws @@ -42,7 +47,7 @@ export function useHotelSocket({ slug, token, onMessage }: Options) { if (destroyed) { ws.close(); return } setConnected(true) attempts = 0 - console.debug('[WS] connected', slug) + console.log('[WS] connected ✓ hotel:', slug) } ws.onmessage = (e) => { @@ -59,7 +64,7 @@ export function useHotelSocket({ slug, token, onMessage }: Options) { if (destroyed) return const delay = Math.min(1000 * 2 ** attempts, 30_000) attempts++ - console.debug(`[WS] closed (${ev.code}), reconnecting in ${delay}ms (attempt ${attempts})`) + console.log(`[WS] closed (code ${ev.code}), retry in ${delay}ms`) reconnectTimer = setTimeout(connect, delay) } }