# DEBUG: тестирование сетевого соединения между двумя клиентами Документ описывает временный debug-контур для проверки WebRTC соединения между двумя активными WS-сессиями. ## 1) Подготовка 0. Убедись, что в `application.properties` включен параметр: `debug.tempApi.enabled=true` 1. Создай файл `.debug-token` в корне проекта на основе `debug-token.example`. 2. В `.debug-token` должна быть одна строка: секретный токен. 3. Перезапусти сервер. ## 2) API debug Базовый заголовок для всех запросов: ```bash -H "Authorization: Bearer " ``` ### 2.1 Получить список живых клиентов ```bash curl -s \ -H "Authorization: Bearer " \ http://localhost:7070/debug/ws/clients | jq ``` Ответ содержит `sessionId`, `login`, `ip`, `userAgent`, и клиентскую информацию. ### 2.2 Запустить debug-соединение между двумя сессиями ```bash curl -s -X POST \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{ "initiatorSessionId": "SESSION_ID_A", "responderSessionId": "SESSION_ID_B", "clearDebugLog": false }' \ http://localhost:7070/debug/ws/connect | jq ``` В ответе придёт `runId`. Его используй для фильтра логов. ### 2.3 Читать последние N debug-логов ```bash curl -s \ -H "Authorization: Bearer " \ "http://localhost:7070/debug/ws/logs?limit=200&runId=" | jq ``` ## 3) Операционный сценарий “Codex + пользователь” 1. Codex поднимает сервер и сообщает пользователю ссылку на UI. 2. Codex пишет пользователю: **«Запусти двух клиентов и скажи “продолжай”»**. 3. Пользователь запускает два клиента (лучше под разными логинами). 4. Пользователь пишет: **«продолжай»**. 5. Codex: - вызывает `/debug/ws/clients`, - выбирает 2 сессии, - вызывает `/debug/ws/connect`, - получает `runId`, - читает `/debug/ws/logs?runId=...` и сообщает прогресс. 6. Если соединение не удалось: - Codex сообщает ошибки по логам, - при необходимости просит перезапустить 2 клиента, - повторяет запуск debug-run. ## 4) Какие сообщения считать успехом - `peer_connection_connected` - `debug_connection_success` - `signal_sent_200/210/220` без ошибок ## 5) Что говорить пользователю в ходе прогона (через «колонку»/чат) Рекомендуемые фразы: - «Сервер запущен. Запусти двух клиентов и напиши “продолжай”.» - «Вижу 2 активные сессии, запускаю тест соединения.» - «Тест запущен, runId=... Сейчас проверяю логи.» - «Соединение установлено / не установлено. Ниже причины и следующий шаг.» ## 6) Ограничения - Механизм временный, не для production-эксплуатации. - Доступ к debug API имеет любой, кто знает токен. - Рекомендуется тестить между разными логинами.