up
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
и выбор внешнего дисплея; явно нажать «Открыть показ» после восстановления.
|
||||
- [ ] При отсутствии звука проверить системный выход, HDMI, mute и громкость обоих каналов.
|
||||
- [ ] После аварии проверить остаток таймера на паузе; медиа запускать явно.
|
||||
- [ ] После возврата сети дождаться связи и отправить новую команду через сайт.
|
||||
- [ ] После возврата сети проверить применение текущего серверного состояния.
|
||||
- [ ] При повторном сбое сохранить журналы и сведения по
|
||||
[руководству](USER_GUIDE.md#журналы-и-обращение-за-помощью).
|
||||
|
||||
|
||||
@@ -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; пароль не сохраняется. Снимки содержат только поля публичной таблицы.
|
||||
Ручная «Загрузить материалы» остаётся для принудительного обновления файлов по
|
||||
прежнему адресу и требует закрытого показа. Существующие полные пакеты совместимы
|
||||
с автоматическим кешем. Пароль не сохраняется, токены остаются в основном процессе
|
||||
и защищённом хранилище ОС; снимки содержат только публичные поля результатов.
|
||||
|
||||
## Фиксация результата
|
||||
|
||||
|
||||
@@ -74,7 +74,8 @@
|
||||
другой экран требуется выбрать вручную. Автоматического открытия нет.
|
||||
3. Вернуть сеть и подключить управление игрой. После аварийного закрытия
|
||||
отправить через сайт команду PLAY, затем восстановить и вручную открыть показ.
|
||||
Накопленная команда не запускает звук. Следующая новая команда применяется.
|
||||
Пока окно закрыто, звука нет. После ручного открытия применяется текущая
|
||||
серверная команда; повторные ответы её не перезапускают.
|
||||
4. Закрыть приложение во время показа. Звук прекращается, блокировка сна
|
||||
освобождается, материалы остаются на диске. При повторном запуске нет автопуска.
|
||||
|
||||
|
||||
@@ -129,8 +129,8 @@ preload, локальную выдачу Range, восстановление п
|
||||
4. Выполнить SCREEN-007: переподключение проектора, смена параметров дисплея,
|
||||
fullscreen, автоматический/принудительный сон, кабельный/USB/HDMI звук.
|
||||
Восстановление требует явного открытия; медиа остановлены, таймер на паузе.
|
||||
5. Вернуть сеть. Старая серверная команда не отменяет локальное действие;
|
||||
новая команда применяется. Завершить игру и сохранить результаты с датой снимка.
|
||||
5. Вернуть сеть. Принимаются текущие серверные экран и музыка, локальные
|
||||
офлайн-команды не отправляются позднее. Завершить игру и сохранить результаты с датой снимка.
|
||||
6. Перезапустить приложение без сети: выбранная игра/снимок доступны, окно показа
|
||||
закрыто, звук не начинается. Заменить папку приложения новой сборкой с тем же
|
||||
пользовательским профилем и повторить проверку сохранности данных.
|
||||
|
||||
+41
-40
@@ -58,26 +58,27 @@ Windows 11, macOS 13+, Ubuntu 24.04 LTS или Debian 13. Эти требова
|
||||
Нажмите «Войти». Пароль вводите только в приложении, не отправляйте в отчёты.
|
||||
2. При необходимости нажмите «Обновить список игр» и выберите игру
|
||||
в поле «Выберите игру для подготовки».
|
||||
3. Нажмите «Загрузить материалы». Дождитесь завершения; при необходимости
|
||||
используйте «Отменить загрузку». Не выезжайте с незавершённой загрузкой.
|
||||
4. В отдельном блоке **«Материалы показа» выберите подготовленную игру**.
|
||||
Загрузка и выбор игры на сервере сами по себе не выбирают пакет для показа.
|
||||
Статусы игр отображаются как «Черновик», «Идёт», «Пауза», «Завершена».
|
||||
Сообщение «Тестовый режим: синтетические аудио и видео» означает, что игровая
|
||||
копия не выбрана.
|
||||
5. Откройте показ, проверьте изображения, вступление, видео и плейлисты.
|
||||
Отключите сеть и повторите пробный показ. Затем перезапустите приложение
|
||||
без сети и убедитесь, что выбранная игра доступна.
|
||||
3. Нажмите «Подключить выбранную игру». Она станет игрой показа, даже если ещё
|
||||
не подготовлена на этом компьютере. Отдельно скачивать полный пакет не требуется.
|
||||
4. Приложение получает состояние экрана и музыки раз в секунду, сначала скачивает
|
||||
нужные сейчас файлы, затем остальные материалы игры и связанные плейлисты.
|
||||
Связь и подготовка продолжаются при закрытом показе. Прогресс виден в пульте.
|
||||
При ошибке доступна кнопка «Повторить подготовку»; уже сохранённые файлы остаются.
|
||||
5. Откройте показ вручную. Приложение применит текущую серверную сцену и музыку,
|
||||
включая воспроизведение. До готовности нового файла прежнее содержимое канала
|
||||
сохраняется. Все медиа читаются только с локального диска.
|
||||
6. Перед выездом дождитесь полной подготовки без ошибок и проверьте игру без сети.
|
||||
«Материалы показа» позволяет выбирать ранее сохранённые игры и тестовый режим.
|
||||
Офлайн доступны только фактически скачанные файлы.
|
||||
|
||||
Если ОС не предоставляет защищённое хранилище, приложение предупреждает:
|
||||
вход действует до закрытия приложения, но материалы сохраняются. После перезапуска
|
||||
для серверного управления потребуется повторный вход; локальный пакет доступен офлайн.
|
||||
|
||||
Для обновления материалов закройте показ, выберите игру на сервере и нажмите
|
||||
«Проверить изменения», затем явно «Загрузить материалы». Если файл заменили
|
||||
по прежнему адресу, проверка изменений может этого не заметить — загрузите
|
||||
материалы повторно. Новый плейлист тоже требует подготовки. Ошибка или отмена
|
||||
обновления сохраняет прежнюю готовую копию.
|
||||
Новые адреса материалов и изменения плейлистов автоматически подготавливаются
|
||||
во время показа. Если заменили содержимое файла по прежнему адресу, для
|
||||
принудительной загрузки закройте показ и нажмите «Загрузить материалы».
|
||||
Ошибка или отмена ручного обновления сохраняет прежний полный пакет.
|
||||
|
||||
## Проведение показа
|
||||
|
||||
@@ -95,7 +96,9 @@ Windows 11, macOS 13+, Ubuntu 24.04 LTS или Debian 13. Эти требова
|
||||
режим, текст, надпись и длительность таймера. «Сохранить план» отправляет план
|
||||
на сервер; «Отменить» возвращает сохранённый вариант. Для удаления всего плана
|
||||
нажмите «Удалить план», затем «Сохранить план». При ошибке сохранения черновик
|
||||
остаётся в редакторе. Изменения черновика и сохранение сами не меняют проектор.
|
||||
остаётся в редакторе. Изменения черновика и сохранение сами не меняют проектор. Публикация текста
|
||||
кнопкой «Показать текст» использует подходящий текстовый шаг общего плана
|
||||
или добавляет новый, поскольку сервер передаёт произвольный текст через план.
|
||||
|
||||
План общий с сайтом. При параллельных правках последнее сохранение
|
||||
заменяет его целиком. Во время редактирования фоновое обновление не меняет
|
||||
@@ -106,8 +109,8 @@ Windows 11, macOS 13+, Ubuntu 24.04 LTS или Debian 13. Эти требова
|
||||
локально сразу. При наличии связи действие отправляется на сервер для остальных
|
||||
привязанных экранов. Без сети показ продолжается по последней копии; статус
|
||||
предупреждает о неподтверждённом обновлении. Офлайн-команды не накапливаются:
|
||||
восстановление связи само не меняет проектор и не отправляет прошлые переходы.
|
||||
Следующее действие онлайн снова управляет общим планом.
|
||||
после восстановления связи принимается текущее серверное состояние. Прошлые
|
||||
локальные переходы на сервер не отправляются.
|
||||
|
||||
### Вступление, видео и музыка
|
||||
|
||||
@@ -148,39 +151,37 @@ Windows 11, macOS 13+, Ubuntu 24.04 LTS или Debian 13. Эти требова
|
||||
|
||||
## Связь с сервером
|
||||
|
||||
1. Войдите и выберите готовую игру в «Материалы показа».
|
||||
2. Проверьте строку «Игра для управления»: это название локально выбранного
|
||||
пакета, независимо от игры в списке загрузки выше. Нажмите «Подключить управление
|
||||
этой игрой»; запишите показанный номер экрана.
|
||||
Откройте показ и дождитесь «Связь с сервером есть».
|
||||
3. Откройте существующую страницу управления этой игрой на сайте.
|
||||
При необходимости назначьте звук экрану через сайт или кнопку
|
||||
«Назначить звук этому экрану». Это отключает звук других экранов игры
|
||||
по существующим правилам сервера. Статус назначения звука показывается отдельно
|
||||
от локального переключателя «Выключить весь звук». До подтверждения сервером
|
||||
назначение неизвестно; при закрытом показе или потере связи отображается
|
||||
последнее подтверждённое состояние.
|
||||
4. Отправьте новую команду. Первое состояние после подключения, открытия окна
|
||||
или восстановления связи не повторяет старые команды.
|
||||
Подключите выбранную игру кнопкой в «Игра и сервер». Для ранее сохранённой игры
|
||||
можно использовать «Подключить управление этой игрой». Проверьте название
|
||||
в строке «Игра для управления» и номер экрана. Подготовка файлов не требует
|
||||
открытого показа; само окно автоматически не открывается.
|
||||
|
||||
Опрос сервера идёт раз в секунду при открытом показе. Быстрые команды между
|
||||
опросами могут объединяться. Локальные команды компьютера действуют только
|
||||
на его показ и не рассылаются другим экранам. Новая команда сервера может
|
||||
изменить локальный показ. «Отключить управление» прекращает управление приложением,
|
||||
но сохраняет привязку экрана на сервере. Для отвязки используйте сайт.
|
||||
При отсутствии интернета пользуйтесь локальным пультом.
|
||||
Приложение постоянно принимает изменения сцены, текста, таймера и музыки.
|
||||
Первый ответ после подключения, открытия окна или восстановления сети применяется
|
||||
как текущее состояние сервера. Одинаковая версия не запускает медиа повторно.
|
||||
Команды локального пульта при доступной сети отправляются на сервер и относятся
|
||||
ко всем привязанным экранам. Выключение всего звука остаётся локальной настройкой.
|
||||
|
||||
Назначение звука экрану меняется отдельно через сайт или «Назначить звук этому
|
||||
экрану». Оно отключает звук остальных экранов по правилам сервера. При отсутствии
|
||||
связи отображается последнее подтверждённое назначение.
|
||||
|
||||
Без сети продолжайте локально. После её возврата серверное состояние заменяет
|
||||
локальное; накопленные локальные действия не отправляются. Точная синхронизация
|
||||
позиций ограничена данными существующего API. «Отключить управление» прекращает
|
||||
получение состояний, но не удаляет привязку экрана на сервере.
|
||||
|
||||
## Сбои и восстановление
|
||||
|
||||
| Ситуация | Действия ведущего |
|
||||
| --- | --- |
|
||||
| Нет сети | Продолжайте локально. После возврата сети дождитесь связи и отправьте новую команду через сайт. |
|
||||
| Нет сети | Продолжайте локально. После возврата сети приложение примет текущие экран и музыку сервера. |
|
||||
| Проектор отключился, изменилось разрешение или произошёл сон | Прочитайте причину в пульте, восстановите дисплей/выход звука, выберите внешний экран и явно откройте показ. Медиа остановлены, работающий таймер сохранён на паузе. |
|
||||
| Нет звука | Проверьте выход и mute ОС, кабель/USB/HDMI, «Выключить весь звук», громкость канала, открытое окно и статус проигрывателя. Для серверных команд проверьте назначение звука экрану. |
|
||||
| Ошибка подготовки сцены | Проверьте сообщение и нажмите «Повторить подготовку». При повторении проверьте пакет до продолжения игры. |
|
||||
| Пакет повреждён или отсутствует файл | При доступной сети закройте показ и загрузите материалы заново. Для удаления выберите другой пакет или тестовый режим, затем «Удалить материалы» у нужной игры. Без сети восстановить отсутствующие байты нельзя. |
|
||||
| Истёк вход или сессия экрана | Повторно войдите или подключите управление по сообщению пульта. Готовые материалы остаются на диске. |
|
||||
| Приложение перезапущено | Выбранная игра и сохранённые результаты восстанавливаются. Откройте показ и запустите нужные медиа/таймер явно; их текущее выполнение не восстанавливается. |
|
||||
| Приложение перезапущено | Выбранная игра и сохранённые результаты восстанавливаются. Откройте показ вручную: онлайн применяется текущее состояние сервера, офлайн запускайте медиа локально. |
|
||||
| Пульт пуст или зависает при запуске | Запишите ОС, версию, симптомы и сообщения запуска, передайте отчёт. Не считайте такой запуск успешным. |
|
||||
|
||||
При открытом показе приложение запрашивает блокировку автоматического сна,
|
||||
|
||||
Reference in New Issue
Block a user