Типичные ситуации и решения
Частые проблемы при работе с API и приложением и способы их устранения.
401 Unauthorized при запросах к API
Причина: не передан токен, токен истёк или неверный.
Решение:
- Убедитесь, что заголовок
Authorization: Bearer <access_token>присутствует. - Если токен истёк — вызовите
POST /auth/refreshсrefresh_token, получите новыйaccess_tokenи повторите запрос. - При повторяющихся 401 после refresh проверьте, что refresh_token не отозван и срок его действия не истёк (настройки на бэкенде).
Сообщения не приходят в реальном времени
Причина: WebSocket не подключён или отключился; клиент не подписан на канал пользователя.
Решение:
- Проверьте подключение к
wss://<домен>/socket(или ws для разработки). - Убедитесь, что после подключения выполняется join канала
user:<user_id>с передачей токена (если сервер требует аутентификацию сокета). - Проверьте консоль браузера и сеть на ошибки WebSocket. При обрыве связи реализуйте переподключение и повторный join.
Звонок не подключается (нет изображения/звука)
Причина: не получен или неверный токен LiveKit; LiveKit Server недоступен; блокировка медиа-портов или неразрешённый доступ к камере/микрофону.
Решение:
- Проверьте, что после
POST /calls/:id/joinвызываетсяGET /calls/:id/tokenи возвращаютсяtoken,room_name,livekit_url. - Убедитесь, что фронтенд подключается к
livekit_urlс этим токеном (например, через LiveKit JS SDK). - Проверьте доступность LiveKit Server с клиента (TURN/STUN при необходимости).
- В браузере разрешите доступ к камере и микрофону для сайта; проверьте, что нет блокировки смешанного контента (HTTPS для страницы и wss для сокетов).
Файл не загружается (ошибка при upload)
Причина: превышен лимит размера, неверный Content-Type, CORS, или ошибка на стороне хранилища (MinIO/S3).
Решение:
- Проверьте лимиты размера тела запроса в Nginx и Phoenix.
- Используйте
multipart/form-dataс полемfile. - Убедитесь, что домен фронтенда добавлен в CORS (на бэкенде).
- Проверьте логи бэкенда и доступность MinIO/S3 (сетевые настройки, ключи).
Регистрация не завершается (ожидание подтверждения)
Причина: включена модерация регистрации; учётная запись ожидает подтверждения администратором.
Решение: администратор должен подтвердить пользователя в админ-панели (a.messenger.it-run.ru или аналог). После подтверждения пользователь может войти по логину и паролю.