Files
evening_detective_screen/docs/SCREEN-008_RESULTS.md
T
2026-10-18 01:47:42 +07:00

15 KiB
Raw Blame History

SCREEN-008 — Результаты приёмки 0.2.0-rc.1

«Собран» не означает аппаратный PASS. Отчёты владельца пока не получены.

Стенд Артефакт Установка Реальный проектор/звук Полный час офлайн Обновление/сеть/сон Физическая медиана/p95
macOS 13+ Intel Ожидается сборка на Mac Не проверено Не проверено Не проверено Не проверено Нет замеров
macOS 13+ Apple Silicon Ожидается сборка на Mac Не проверено Не проверено Не проверено Не проверено M1 16 ГБ: цель p95 ≤150 мс, нет замеров
Windows 11 x64 Собран, проверен архив Не проверено Не проверено Не проверено Не проверено Нет замеров
Windows 11 ARM64 Собран, проверен архив Не проверено Не проверено Не проверено Не проверено Нет замеров
Ubuntu 24.04 x64 Собран, проверен архив Не проверено Не проверено Не проверено Не проверено Нет замеров
Debian 13 x64 Тот же Linux x64 архив Не проверено Не проверено Не проверено Не проверено Нет замеров
Ubuntu 24.04 ARM64 Собран, проверен архив Не проверено Не проверено Не проверено Не проверено Нет замеров
Debian 13 ARM64 Тот же Linux ARM64 архив Не проверено Не проверено Не проверено Не проверено Нет замеров

Программная проверка 2026-10-17

Стенд: Manjaro Linux x64, один физический дисплей. Node.js 26.8.1, Electron 42.11.15, electron-builder 26.15.3, ffmpeg n9.0.1. Версия приложения 0.2.0-rc.1. Сборка из рабочей копии (dirty: true), Git revision 1d4028b18382983196da94d7f2a5762d23d0150f.

  • npm run type-check, ESLint, Stylelint, 73 теста — PASS.
  • npm run dist -- --linux --win --x64 --arm64 --publish never — PASS. Все четыре архива распакованы и проверены: ELF/PE архитектура, разрешённый состав app.asar, версия приложения и хеши включённых файлов.
  • Артефакты: release/evening-detective-screen-0.2.0-rc.1-{linux-x64,linux-arm64}.tar.gz и release/evening-detective-screen-0.2.0-rc.1-{win-x64,win-arm64}.zip. У каждого — .build-info.json; текущие контрольные суммы: release/SHA256SUMS-linux-arm64_linux-x64_win-arm64_win-x64. Архивы 0.1.0 и прежний SHA256SUMS не относятся к кандидату.
  • Упакованный Linux x64: обновление с сохранённого стенда 0.1.0 и два запуска кандидата на изолированном профиле — PASS. Два офлайн-файла, выбранный пакет, снимок результатов и настройки сохранены; Range работает; автоматического открытия показа/звука/таймера нет. Проверены начало/конец диагностического журнала.
  • GUI smoke — PASS: восемь режимов, 11 превью, локальные WAV/H.264 и Range, независимая музыка, существующее серверное управление и запреты IPC. Проверены аварии дисплея/питания/окна, настоящее завершение renderer и повторное открытие без автопуска; все 16 блокировок сна освобождены. Дисплей синтетический, события топологии/fullscreen/сна подставлены; флаги no-sandbox/mute-audio/ disable-gpu использованы только для теста. Физические задержки не измерялись.
  • Повторный packaged smoke после исправления завершения тестового процесса — PASS. sha256sum -c SHA256SUMS-linux-arm64_linux-x64_win-arm64_win-x64 — четыре OK. git diff --check — PASS.

Windows-архивы здесь не запускались. GitHub Actions не запускался, артефактов macOS нет. Этот стенд не подтверждает Ubuntu/Debian, реальный проектор, системный аудиовыход, сон, час офлайн и физическую задержку на M1.

Начало аппаратной приёмки Linux (2026-10-17)

  • Повторная проверка SHA-256 четырёх архивов — OK.
  • Доступный стенд: Manjaro x86_64, KDE Wayland/XWayland. kscreen-doctor -o обнаружил только встроенный eDP-1: 3072×1920, масштаб 1.5; внешнего дисплея/проектора на момент проверки нет.
  • Запущен release/linux-unpacked/evening-detective-screen без тестовых флагов, с отдельным постоянным профилем release/acceptance-profile-linux-x64. Журнал подтвердил app-start версии 0.2.0-rc.1 / Electron 42.11.15 / linux x64.
  • В stderr: ошибка инициализации VAAPI i965 и три сообщения о падении GPU-процесса с exit_code=139. Основной процесс не завершился на момент наблюдения, но видимость/работоспособность пульта владельцем ещё не подтверждены. Обычный запуск пока не отмечается PASS; тестовые флаги для обхода не добавлялись.
  • Ожидается подключение реального проектора и подтверждение интерфейса владельцем. Физический звук, час офлайн, сон, переподключение и замеры не выполнены. Этот Manjaro-стенд не заменяет Ubuntu/Debian из обязательной матрицы.

Проверка согласования интерфейса (2026-10-17)

Проверены текущие исходники после упаковки кандидата. Архивы 0.2.0-rc.1 не пересобирались и не включают следующие изменения интерфейса.

  • Названия восьми режимов согласованы с сайтом, статусы игр показаны по-русски.
  • Подключение явно указывает локально выбранную игру, независимо от игры в серверном списке загрузки; отключение не обещает отвязку на сервере.
  • Отдельно отображается подтверждённое сервером назначение звука. Локальный mute его не изменяет; отсутствие текущего опроса явно обозначено.
  • Type-check, ESLint, Stylelint, 74 теста, сборка, GUI smoke — PASS. Новый GUI-сценарий выбирает серверную игру для подготовки при другом локальном пакете, проверяет неизменность цели управления и перевод статуса. После выбора нового локального пакета цель меняется; серверное назначение звука видно в UI.
  • Проверены 28 ссылок документации и git diff --check — PASS.

Прежние ограничения GUI-стенда сохраняются: Linux x64, синтетический внешний дисплей, тестовые no-sandbox/mute-audio/disable-gpu. Новых аппаратных результатов нет.

Диагностика запуска на Manjaro XWayland (2026-10-17)

Вывод о видимости окна ниже опровергнут 2026-10-18: снимок страницы и isVisible() подтвердили внутреннее состояние Electron, но окно не было зарегистрировано в KWin. Прежний обход GPU-композиции удалён; исправление ниже.

  • Обычный запуск исходников с чистым профилем воспроизвёл три падения GPU-процесса с exit_code=139. Coredump указывает на libGLESv2/ANGLE, EGL_CreateWindowSurface и eglCreateWindowSurface. Отдельная ошибка VAAPI i965 не является установленной причиной: отключение аппаратного декодирования видео не устранило падения.
  • OpenGL через use-angle=gl также не помог. Отключение только GPU-композиции устранило падения. В main этот обход включён для Linux при Wayland-сессии; размещение окон по-прежнему через X11/XWayland. Sandbox не отключается.
  • Обычный запуск исправленных исходников и Linux x64 из linux-unpacked — PASS: только временный профиль и localhost debugger для диагностики, без no-sandbox, disable-gpu и mute-audio. Пульт отрисован, проверен снимок; падений GPU нет.
  • 77 тестов, type-check, ESLint, Stylelint, сборка и GUI smoke — PASS. В smoke использован только mute-audio, внешний дисплей синтетический; все восемь режимов, WAV/H.264, серверное управление и восстановление после падения renderer прошли.
  • Linux x64 0.2.0-rc.1 пересобран: проверены состав приложения, архитектура, хеши и распакованный архив. SHA-256 архива: f8c35174057d7dec6609825517617c64d75f82bd29874a8b88118563b07d7236. Обновлены build-info, SHA256SUMS-linux-x64 и запись Linux x64 в общем manifest. Остальные архивы не пересобирались; в них остаётся прежний код.
  • Запуск на этом компьютере подтверждён; физический проектор, системный звук, аппаратный p95, час офлайн и остальные ОС по-прежнему не подтверждены. SCREEN-001/008 остаются IN_PROGRESS. Diff проверен вручную по применимому стандарту; нарушений не найдено. Коммиты и push агент не выполнял.

Исправление невидимого окна (2026-10-18)

  • Без раннего X11-флага Electron возвращал native handle 1 и isVisible=true, но _NET_CLIENT_LIST KWin оставался пустым. DOM пульта был загружен. Это объясняет ложноположительные прежние проверки снимком страницы и GUI smoke.
  • С CLI-флагом --ozone-platform=x11 до запуска процесса native handle стал настоящим X11 ID 0x1200004; тот же ID появился в _NET_CLIENT_LIST. Пульт загружен, падений GPU и XGetWindowAttributes нет, GPU не отключён.
  • Причина: Electron выбирает Ozone до main.js. Поздний appendSwitch менял параметры дочернего GPU, сохраняя Wayland-окно основного процесса. Порядок инициализации Electron 42.
  • npm dev/smoke/acceptance теперь запускают Electron через scripts/start.cjs, передающий X11 заранее только на Linux и сохраняющий код завершения процесса. Обычный Linux-запуск без раннего X11 перезапускается с ним до создания окон. Отключение GPU-композиции и поздний appendSwitch удалены; sandbox сохранён.
  • 77 тестов, type-check, ESLint, Stylelint, сборка и GUI smoke с mute-audio — PASS. В smoke добавлена проверка native X11 ID; внешний дисплей синтетический. Полный diff проверен вручную по применимому стандарту; нарушений не найдено.
  • Именно npm run dev запущен на обычном профиле: KWin зарегистрировал окно 0x1200004. Linux x64 пересобран, состав и распакованный архив проверены; обновлены build-info, SHA256SUMS-linux-x64 и запись в общем manifest. Остальные архивы не пересобирались.
  • SCREEN-001/008 остаются IN_PROGRESS: реальный проектор, системный звук, аппаратный p95, час офлайн и матрица ОС не подтверждены. Коммитов и push нет.

Отчёт одного стенда

  • Дата, версия приложения и SHA-256 архива:
  • ОС/версия/архитектура; CPU/RAM:
  • Дисплей/проектор, разрешение/масштаб, переходник; для Linux X11/XWayland:
  • Аудиовыходы (кабель/USB/HDMI) и форматы:
  • Предупреждения неподписанного запуска и результат установки:
  • Подготовка/восемь режимов/музыка/таймер/результаты:
  • Час работы офлайн; отключение и возврат сети:
  • Переподключение дисплея/fullscreen/сон/перезапуск:
  • Замена приложения с сохранением профиля:
  • 30 физических пусков каждого формата/выхода; медиана/p95:
  • Сбои и непройденные пункты; приложенные diagnostic*.jsonl:

Не прикладывать пароли, токены, файл credentials.bin и весь пользовательский профиль.