main commit
This commit is contained in:
112
docs/FIXED_SESSION_TESTING_GUIDE.md
Normal file
112
docs/FIXED_SESSION_TESTING_GUIDE.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# Инструкция по тестированию исправленной системы сессий
|
||||
|
||||
## Проблемы, которые были исправлены:
|
||||
|
||||
### ✅ 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. **Правильная синхронизация** - состояние между сервером и клиентом всегда синхронизировано
|
||||
|
||||
Теперь система сессий работает полноценно и позволяет эффективно управлять множественными подключениями!
|
||||
Reference in New Issue
Block a user