up
This commit is contained in:
@@ -17,60 +17,41 @@
|
||||
до выхода из приложения. На Linux требуется рабочий libsecret/KWallet;
|
||||
`basic_text` не используется для сохранения секретов.
|
||||
|
||||
## Серверные команды
|
||||
## Постоянная связь и автоматическая подготовка SCREEN-012
|
||||
|
||||
1. Нажать «Подключить управление этой игрой», записать номер экрана.
|
||||
Открыть показ на внешнем дисплее. Дождаться сообщения о связи.
|
||||
2. Открыть существующую страницу управления этой игрой на сайте.
|
||||
Убедиться, что экран появился в её списке. Назначить звук этому экрану
|
||||
через сайт или одноимённую кнопку приложения; это отключает звук других
|
||||
экранов игры по существующим правилам сервера.
|
||||
3. Отправить новую команду смены режима, пуска вступления, паузы, продолжения,
|
||||
перемотки и громкости. Повторить с заключительным видео.
|
||||
4. Проверить текст, настройку/пуск/паузу/сброс таймера и музыку: выбор трека,
|
||||
громкость, повтор и автоматический переход. Все используемые ресурсы должны
|
||||
быть в скачанном пакете; новый плейлист требует подготовки материалов.
|
||||
5. Чередовать серверные команды и локальный пульт. Локальная пауза не должна отменяться повтором
|
||||
того же серверного состояния. Новая серверная команда должна применяться.
|
||||
Команды компьютера действуют только на этот показ и не рассылаются другим экранам.
|
||||
6. Проверить прежний браузерный экран отдельно: его вход, привязка и команды
|
||||
должны работать как раньше. Общие команды игры по-прежнему относятся ко всем
|
||||
её подключённым экранам.
|
||||
1. Выбрать игру, которой ещё нет на компьютере, и нажать «Подключить выбранную
|
||||
игру». Проверить связь и прогресс загрузки при закрытом показе.
|
||||
2. Назначить звук экрану. Вручную открыть показ: текущие серверные экран и музыка
|
||||
применяются после сохранения необходимых файлов. Проверить локальные адреса
|
||||
медиа; прямого воспроизведения HTTP-файлов в renderer быть не должно.
|
||||
3. Через сайт сменить экран, текст, таймер и музыку. Повторное состояние не
|
||||
перезапускает медиа. Закрыть показ, изменить серверное состояние и открыть его
|
||||
снова: оно применяется, но закрытое окно самостоятельно не открывается.
|
||||
4. Добавить новый трек или сменить плейлист на ещё не подготовленный. На медленном
|
||||
соединении прежняя музыка продолжает играть до готовности нового файла.
|
||||
Смена текста в это время не ждёт музыку. Аналогично проверить новое вступление,
|
||||
видео и изображения. Все связанные плейлисты и остальные материалы готовятся фоном.
|
||||
5. Во время загрузки несколько раз сменить серверную команду: устаревший файл
|
||||
не должен включаться после завершения загрузки. Ошибка отдельного файла или
|
||||
нехватка места не удаляет готовые материалы; проверить «Повторить подготовку».
|
||||
6. Проверить локальные режимы, шаги, основной канал, таймер и музыку: онлайн они
|
||||
меняют общий сервер. Выключение всего звука остаётся локальным. Публикация
|
||||
произвольного текста сохраняет и выбирает текстовый шаг общего плана.
|
||||
7. Отключить сеть, изменить показ локально, затем изменить состояние на сервере.
|
||||
Вернуть сеть: серверные экран и музыка принимаются; локальные офлайн-команды
|
||||
не отправляются позднее. После полного скачивания проверить час показа без сети.
|
||||
8. Перезапустить приложение без сети с тем же профилем. Сохранённые игра и снимок
|
||||
результатов доступны, окно закрыто. Открыть его и проверить локальные файлы.
|
||||
Повредить один тестовый файл, восстановить его автоматически при доступной сети
|
||||
и повторить перезапуск: остальные ресурсы и исправленный файл должны сохраниться.
|
||||
9. Проверить истечение JWT и экранной сессии, смену игры во время загрузки,
|
||||
выход без удаления файлов и сохранность предыдущего полного пакета после
|
||||
неудачной ручной перезагрузки. Не менять рабочую базу ради проверки.
|
||||
|
||||
Опрос идёт раз в секунду, только пока окно показа открыто. Первое состояние при
|
||||
подключении/повторном открытии становится исходной отметкой: старые команды не
|
||||
запускаются, назначение звука учитывается при первом подключении. Для показа
|
||||
отправьте новую команду. Сайт показывает наличие связи; точные подтверждения
|
||||
проигрывателя и ошибки доступны в пульте приложения, поскольку существующий API
|
||||
не принимает их от экрана.
|
||||
|
||||
## Обрыв связи, обновления и перезапуск
|
||||
|
||||
1. Во время воспроизведения отключить сеть компьютера. Проверить локальные
|
||||
play/pause/seek, переход музыки и продолжающийся таймер.
|
||||
2. При отключённой сети изменить показ локально, затем отправить команду
|
||||
через сайт. Вернуть сеть: накопленное состояние не должно отменить локальное
|
||||
действие. Следующая новая серверная команда должна примениться.
|
||||
3. Проверить истечение пользовательского входа и отдельно недействительную
|
||||
экранную сессию на тестовом сервере. Показ не прерывается; интерфейс предлагает
|
||||
повторный вход или подключение управления. Не менять рабочую базу ради проверки.
|
||||
4. Закрыть показ. Изменить материалы игры на сервере и проверить изменения
|
||||
в приложении. Явно загрузить новую версию. При открытом показе обновление
|
||||
выбранной игры должно отклоняться. Ошибка и отмена загрузки сохраняют старую копию.
|
||||
5. Завершить игру и обновить снимок результатов. Проверить таблицу и время снимка.
|
||||
Ошибка обновления должна сохранять последний успешный снимок.
|
||||
6. Закрыть приложение, отключить сеть и запустить снова. Выбранная игра и снимок
|
||||
результатов доступны; окно показа и звук сами не запускаются. Открыть показ
|
||||
и проверить локальное воспроизведение.
|
||||
7. Выход из аккаунта не удаляет материалы и не прерывает локальное воспроизведение,
|
||||
но отключает получение команд сервера. Удалить невыбранный пакет через интерфейс.
|
||||
|
||||
Проверка метаданных не обнаруживает новые байты файла по прежнему URL:
|
||||
для этого нужна повторная загрузка. Сервер хранит последнее состояние, поэтому
|
||||
несколько команд между опросами могут объединиться. После неопределённого исхода
|
||||
запроса перехода музыки приложение не повторяет его автоматически. Секреты
|
||||
находятся отдельно от пакетов в зашифрованном файле `connection/credentials.bin`
|
||||
в userData; пароль не сохраняется. Снимки содержат только поля публичной таблицы.
|
||||
Ручная «Загрузить материалы» остаётся для принудительного обновления файлов по
|
||||
прежнему адресу и требует закрытого показа. Существующие полные пакеты совместимы
|
||||
с автоматическим кешем. Пароль не сохраняется, токены остаются в основном процессе
|
||||
и защищённом хранилище ОС; снимки содержат только публичные поля результатов.
|
||||
|
||||
## Фиксация результата
|
||||
|
||||
|
||||
Reference in New Issue
Block a user