8.5 KiB
SCREEN-006 — Проверка подключения игры
Программные проверки используют тестовый HTTP-сервер и синтетические файлы. Эта инструкция проверяет существующий сервер сайта, реальные игровые материалы и хранилище секретов установленной ОС. Бэкенд и браузерный экран не изменяются.
Подготовка
- Подключить внешний дисплей в режиме расширенного рабочего стола.
- В каталоге приложения выполнить
npm ci,npm run media:generate,npm run dev. Для Linux под Wayland нужен XWayland. - В блоке «Игра и сервер» указать адрес сервера без пути, email и пароль организатора, автора или администратора. Нажать «Войти».
- Выбрать игру и загрузить материалы. Проверить прогресс и возможность отмены. После успешной загрузки выбрать игру в «Материалах показа».
- Если приложение сообщает, что хранилище ОС недоступно, вход действует только
до выхода из приложения. На Linux требуется рабочий libsecret/KWallet;
basic_textне используется для сохранения секретов.
Серверные команды
- Нажать «Подключить управление этой игрой», записать номер экрана. Открыть показ на внешнем дисплее. Дождаться сообщения о связи.
- Открыть существующую страницу управления этой игрой на сайте. Убедиться, что экран появился в её списке. Назначить звук этому экрану через сайт или одноимённую кнопку приложения; это отключает звук других экранов игры по существующим правилам сервера.
- Отправить новую команду смены режима, пуска вступления, паузы, продолжения, перемотки и громкости. Повторить с заключительным видео.
- Проверить текст, настройку/пуск/паузу/сброс таймера и музыку: выбор трека, громкость, повтор и автоматический переход. Все используемые ресурсы должны быть в скачанном пакете; новый плейлист требует подготовки материалов.
- Чередовать серверные команды и локальный пульт. Локальная пауза не должна отменяться повтором того же серверного состояния. Новая серверная команда должна применяться. Команды компьютера действуют только на этот показ и не рассылаются другим экранам.
- Проверить прежний браузерный экран отдельно: его вход, привязка и команды должны работать как раньше. Общие команды игры по-прежнему относятся ко всем её подключённым экранам.
Опрос идёт раз в секунду, только пока окно показа открыто. Первое состояние при подключении/повторном открытии становится исходной отметкой: старые команды не запускаются, назначение звука учитывается при первом подключении. Для показа отправьте новую команду. Сайт показывает наличие связи; точные подтверждения проигрывателя и ошибки доступны в пульте приложения, поскольку существующий API не принимает их от экрана.
Обрыв связи, обновления и перезапуск
- Во время воспроизведения отключить сеть компьютера. Проверить локальные play/pause/seek, переход музыки и продолжающийся таймер.
- При отключённой сети изменить показ локально, затем отправить команду через сайт. Вернуть сеть: накопленное состояние не должно отменить локальное действие. Следующая новая серверная команда должна примениться.
- Проверить истечение пользовательского входа и отдельно недействительную экранную сессию на тестовом сервере. Показ не прерывается; интерфейс предлагает повторный вход или подключение управления. Не менять рабочую базу ради проверки.
- Закрыть показ. Изменить материалы игры на сервере и проверить изменения в приложении. Явно загрузить новую версию. При открытом показе обновление выбранной игры должно отклоняться. Ошибка и отмена загрузки сохраняют старую копию.
- Завершить игру и обновить снимок результатов. Проверить таблицу и время снимка. Ошибка обновления должна сохранять последний успешный снимок.
- Закрыть приложение, отключить сеть и запустить снова. Выбранная игра и снимок результатов доступны; окно показа и звук сами не запускаются. Открыть показ и проверить локальное воспроизведение.
- Выход из аккаунта не удаляет материалы и не прерывает локальное воспроизведение, но отключает получение команд сервера. Удалить невыбранный пакет через интерфейс.
Проверка метаданных не обнаруживает новые байты файла по прежнему URL:
для этого нужна повторная загрузка. Сервер хранит последнее состояние, поэтому
несколько команд между опросами могут объединиться. После неопределённого исхода
запроса перехода музыки приложение не повторяет его автоматически. Секреты
находятся отдельно от пакетов в зашифрованном файле connection/credentials.bin
в userData; пароль не сохраняется. Снимки содержат только поля публичной таблицы.
Фиксация результата
Записать ОС/архитектуру, версию Electron/приложения, адрес и версию сервера, реальный внешний дисплей, форматы файлов, доступность хранилища ОС и результаты каждого пункта. Не прикладывать токены, пароль или содержимое файла секретов. Аппаратные измерения звука/кадра остаются в SCREEN-001/SCREEN-004; эта проверка не заменяет их и не подтверждает p95 на M1.