Files
god_eye/docs/FIXED_SESSION_TESTING_GUIDE.md
2025-10-04 11:55:55 +09:00

112 lines
8.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция по тестированию исправленной системы сессий
## Проблемы, которые были исправлены:
### ✅ 1. Оператор не получал уведомления о новых запросах
**Исправление**: Добавлены правильные события `session:created`, `session:accepted`, `session:rejected`, `session:ended`
### ✅ 2. Сессии не отображались в приложении при подтверждении
**Исправление**: Обновлена обработка событий сессий в десктопном приложении
### ✅ 3. Правильная сущность сессий для переключения
**Исправление**: Полная реализация системы множественных сессий с переключением
## Последовательность тестирования:
### Шаг 1: Подключение к серверу
1. Запустите десктопное приложение
2. **НОВОЕ**: Панель подключения по умолчанию свернута с индикатором статуса 🔗 ● в заголовке
3. Кликните на заголовок "🔗 Подключение к серверу" чтобы развернуть панель
4. Нажмите "Подключиться" - кнопка должна изменить текст на "Отключиться"
5. **НОВОЕ**: Индикатор в заголовке изменится на зеленый ● для показа активного подключения
6. В журнале должно появиться сообщение о подключении
### Шаг 2: Симуляция Android устройства
1. В веб-демо (http://localhost:3001) найдите секцию "Test Android Device"
2. Нажмите "Simulate Android Connection"
3. В десктопном приложении должно появиться новое устройство в списке
### Шаг 3: Создание первой сессии
1. В десктопном приложении нажмите "Подключиться" к устройству
2. **НОВОЕ**: В списке сессий должна немедленно появиться сессия со статусом "Ожидание" (🟠)
3. В веб-демо появится запрос "Camera request from operator"
4. Нажмите "Accept Request" в веб-демо
5. **НОВОЕ**: Сессия в приложении должна изменить статус на "Активна" (🟢)
### Шаг 4: Создание множественных сессий
1. Повторите шаг 3 еще 2-3 раза для создания нескольких сессий
2. **НОВОЕ**: Кнопка устройства должна изменить текст на "Добавить сессию"
3. В списке сессий должны отображаться все активные сессии
### Шаг 5: Переключение между сессиями
1. Кликните "Переключиться" на любой неактивной сессии
2. **НОВОЕ**: Активная сессия должна выделиться зеленой рамкой
3. В верхней части должна отобразиться информация об активной сессии
### Шаг 6: Переключение камеры
1. В активной сессии нажмите "Фронтальная"
2. **НОВОЕ**: Тип камеры должен обновиться в информации о сессии
3. В журнале должно появиться сообщение о переключении
### Шаг 7: Завершение сессии
1. Нажмите "Завершить" на любой сессии
2. **НОВОЕ**: Сессия должна исчезнуть из списка
3. Если это была активная сессия, должна автоматически активироваться другая
## Новые события в журнале:
### События сессий:
- `Сессия создана: [sessionId]` - при запросе доступа к камере
- `Сессия принята: [sessionId]` - при подтверждении на устройстве
- `Сессия отклонена: [sessionId]` - при отказе на устройстве
- `Сессия завершена: [sessionId]` - при закрытии сессии
### События устройств:
- `Новое устройство подключено: [deviceId]` - при подключении Android
- `Устройство отключено: [deviceId]` - при отключении Android
### События управления:
- `Переключение на сессию: [sessionId]` - при смене активной сессии
- `Переключение на камеру: [type] в сессии [sessionId]` - при смене камеры
- `Завершение сессии: [sessionId]` - при инициировании закрытия
## Визуальные индикаторы:
### Статусы сессий:
- 🟠 **Ожидание** - запрос отправлен, ждем ответа от устройства
- 🟢 **Активна** - сессия установлена и работает
- 🔴 **Отклонена** - устройство отклонило запрос
-**Завершена** - сессия была закрыта
### Кнопки устройств:
- **"Подключиться"** (синяя) - нет активных сессий с устройством
- **"Добавить сессию"** (зеленая) - есть активные сессии, можно добавить еще
### Активная сессия:
- Выделена **зеленой рамкой** в списке
- Отображается в верхней части: `Активная сессия: [device] ([camera])`
- Кнопка показывает **"Активна"** вместо "Переключиться"
## Проверка исправлений:
### ✅ Проблема 1: Получение запросов
- Сессия должна появляться в списке **сразу** при нажатии "Подключиться"
- Статус должен меняться с "Ожидание" на "Активна" при подтверждении
### ✅ Проблема 2: Отображение сессий
- После "Accept Request" в веб-демо, сессия **немедленно** становится активной
- Все данные сессии корректно отображаются в списке
### ✅ Проблема 3: Переключение сессий
- Можно создать несколько активных сессий одновременно
- Переключение между сессиями работает мгновенно
- Управление камерами работает для каждой сессии независимо
## Ожидаемое поведение:
1. **Мгновенная отзывчивость** - все действия отражаются в UI немедленно
2. **Множественные сессии** - можно управлять несколькими устройствами одновременно
3. **Четкая индикация** - всегда ясно, какая сессия активна и каков ее статус
4. **Правильная синхронизация** - состояние между сервером и клиентом всегда синхронизировано
Теперь система сессий работает полноценно и позволяет эффективно управлять множественными подключениями!