up
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
# SCREEN-006 — Проверка подключения игры
|
||||
|
||||
Программные проверки используют тестовый HTTP-сервер и синтетические файлы.
|
||||
Эта инструкция проверяет существующий сервер сайта, реальные игровые материалы
|
||||
и хранилище секретов установленной ОС. Бэкенд и браузерный экран не изменяются.
|
||||
|
||||
## Подготовка
|
||||
|
||||
1. Подключить внешний дисплей в режиме расширенного рабочего стола.
|
||||
2. В каталоге приложения выполнить `npm ci`, `npm run media:generate`,
|
||||
`npm run dev`. Для Linux под Wayland нужен XWayland.
|
||||
3. В блоке «Игра и сервер» указать адрес сервера без пути, email и пароль
|
||||
организатора, автора или администратора. Нажать «Войти».
|
||||
4. Выбрать игру и загрузить материалы. Проверить прогресс и возможность отмены.
|
||||
После успешной загрузки выбрать игру в «Материалах показа».
|
||||
5. Если приложение сообщает, что хранилище ОС недоступно, вход действует только
|
||||
до выхода из приложения. На Linux требуется рабочий libsecret/KWallet;
|
||||
`basic_text` не используется для сохранения секретов.
|
||||
|
||||
## Команды с телефона
|
||||
|
||||
1. Нажать «Подключить управление выбранной игрой», записать номер экрана.
|
||||
Открыть показ на внешнем дисплее. Дождаться сообщения о связи.
|
||||
2. На телефоне открыть существующую страницу управления этой игрой.
|
||||
Убедиться, что экран появился в её списке. Назначить звук этому экрану
|
||||
через сайт или одноимённую кнопку приложения; это отключает звук других
|
||||
экранов игры по существующим правилам сервера.
|
||||
3. Отправить новую команду смены режима, пуска вступления, паузы, продолжения,
|
||||
перемотки и громкости. Повторить с заключительным видео.
|
||||
4. Проверить текст, настройку/пуск/паузу/сброс таймера и музыку: выбор трека,
|
||||
громкость, повтор и автоматический переход. Все используемые ресурсы должны
|
||||
быть в скачанном пакете; новый плейлист требует подготовки материалов.
|
||||
5. Чередовать телефон и компьютер. Локальная пауза не должна отменяться повтором
|
||||
того же серверного состояния. Новая команда телефона должна применяться.
|
||||
Команды компьютера действуют только на этот показ и не рассылаются другим экранам.
|
||||
6. Проверить прежний браузерный экран отдельно: его вход, привязка и команды
|
||||
должны работать как раньше. Общие команды игры по-прежнему относятся ко всем
|
||||
её подключённым экранам.
|
||||
|
||||
Опрос идёт раз в секунду, только пока окно показа открыто. Первое состояние при
|
||||
подключении/повторном открытии становится исходной отметкой: старые команды не
|
||||
запускаются, назначение звука учитывается при первом подключении. Для показа
|
||||
отправьте новую команду. Сайт показывает наличие связи; точные подтверждения
|
||||
проигрывателя и ошибки доступны в пульте приложения, поскольку существующий API
|
||||
не принимает их от экрана.
|
||||
|
||||
## Обрыв связи, обновления и перезапуск
|
||||
|
||||
1. Во время воспроизведения отключить сеть компьютера. Проверить локальные
|
||||
play/pause/seek, переход музыки и продолжающийся таймер.
|
||||
2. При отключённой сети изменить показ локально, затем отправить команду
|
||||
телефоном. Вернуть сеть: накопленное состояние не должно отменить локальное
|
||||
действие. Следующая новая команда телефона должна примениться.
|
||||
3. Проверить истечение пользовательского входа и отдельно недействительную
|
||||
экранную сессию на тестовом сервере. Показ не прерывается; интерфейс предлагает
|
||||
повторный вход или подключение управления. Не менять рабочую базу ради проверки.
|
||||
4. Закрыть показ. Изменить материалы игры на сервере и проверить изменения
|
||||
в приложении. Явно загрузить новую версию. При открытом показе обновление
|
||||
выбранной игры должно отклоняться. Ошибка и отмена загрузки сохраняют старую копию.
|
||||
5. Завершить игру и обновить снимок результатов. Проверить таблицу и время снимка.
|
||||
Ошибка обновления должна сохранять последний успешный снимок.
|
||||
6. Закрыть приложение, отключить сеть и запустить снова. Выбранная игра и снимок
|
||||
результатов доступны; окно показа и звук сами не запускаются. Открыть показ
|
||||
и проверить локальное воспроизведение.
|
||||
7. Выход из аккаунта не удаляет материалы и не прерывает локальное воспроизведение,
|
||||
но отключает получение команд сервера. Удалить невыбранный пакет через интерфейс.
|
||||
|
||||
Проверка метаданных не обнаруживает новые байты файла по прежнему URL:
|
||||
для этого нужна повторная загрузка. Сервер хранит последнее состояние, поэтому
|
||||
несколько команд между опросами могут объединиться. После неопределённого исхода
|
||||
запроса перехода музыки приложение не повторяет его автоматически. Секреты
|
||||
находятся отдельно от пакетов в зашифрованном файле `connection/credentials.bin`
|
||||
в userData; пароль не сохраняется. Снимки содержат только поля публичной таблицы.
|
||||
|
||||
## Фиксация результата
|
||||
|
||||
Записать ОС/архитектуру, версию Electron/приложения, адрес и версию сервера,
|
||||
реальный внешний дисплей, форматы файлов, доступность хранилища ОС и результаты
|
||||
каждого пункта. Не прикладывать токены, пароль или содержимое файла секретов.
|
||||
Аппаратные измерения звука/кадра остаются в SCREEN-001/SCREEN-004; эта проверка
|
||||
не заменяет их и не подтверждает p95 на M1.
|
||||
Reference in New Issue
Block a user