Safari Technology Preview 251: destination URL legacy EME key request. People-first диагностика: протокол «document origin → init event → returned destination → mock hit»; синтетический fixture, независимый контроль, одно обратимое воздействие, stop-line и обезличенный handoff.
Короткий ответ и область проверки
Прямой ответ на запрос «как проверить destination URL generateKeyRequest legacy EME в Safari Technology Preview 251» начинается с границы: проверяется только боль «legacy generateKeyRequest возвращает неверный destination URL и направляет тестовый key request не в ожидаемую точку» на локальном fixture. Успех заранее определяется так: destination совпадает с ожидаемыми origin/path и не наследует посторонний адрес из документа. Нельзя подменять его похожей картинкой, общей скоростью браузера или выводом о стабильном Safari. Отдельная ловушка — ошибка mock endpoint, ошибочно приписанная вычислению destination URL. Исход получает один из статусов reproduced, not reproduced, unsupported, environment-blocked, invalid или unknown. Первое наблюдение не считается доказательством, пока контроль и возврат к baseline не подтвердили, что изменилась ровно одна причина.
Свежий факт и предел доказательства
Официальная страница WebKit от 26 августа 2026 года относит к Safari Technology Preview 251 следующий change item: исправлен неверный destination URL, возвращаемый legacy EME generateKeyRequest(). Техническая ссылка — 317970@main. Release note и commit подтверждают наличие конкретного изменения в ветке, но не частоту жалоб, спрос, причинность для чужой страницы, результат на данном компьютере или перенос в стабильный выпуск. Публичная ветка MacRumors перепроверена только как community lead. Её текст, реакции и поисковые snippets не используются как фактологическое evidence и не дают права писать о массовости.
Паспорт воспроизведения
Fixture: изолированный локальный media fixture с синтетическим initData и mock endpoint без реального DRM-контента или ключей. До действия без интерпретации записываются инициирующий document URL, возвращённый destination, origin, path, тип события и факт сетевого запроса. Рабочий артефакт — протокол «document origin → init event → returned destination → mock hit». У каждой строки есть expected, observed, время, версия TP 251 и флаг валидности. Используются только синтетические данные. Запрещено сохранять cookie, IP, Authorization, токены, реальные URLs с query, имена профилей, пользовательские файлы и полные логи. Если нужное поле нельзя получить без персональных или секретных данных, тест останавливается: пробел не заполняют догадкой и не расширяют сбор.
Пара, способная опровергнуть гипотезу
Контрольная ветка готовится до canary: ожидаемый URL из статической конфигурации fixture, проверяемый как parsed URL, а не строковый префикс. Она проверяет, не объясняется ли симптом общей средой или тестовой обвязкой. Риск «ошибка mock endpoint, ошибочно приписанная вычислению destination URL» получает собственную колонку, потому что совпадение внешнего вида не означает совпадение причины. Если control отклоняется вместе с основной веткой, результат invalid и публикационная формулировка не утверждает воспроизведение. Такой контроль не обещает универсальной корректности; он лишь делает конкретный вывод опровержимым и не позволяет замаскировать соседний сбой вторым изменением.
Протокол одного воздействия
Основной шаг: вызвать legacy API один раз на локальном mock и не отправлять никаких лицензий или пользовательских идентификаторов. Сначала фиксируется baseline, затем выполняется только указанное воздействие, после заранее выбранного settle-события повторно снимаются инициирующий document URL, возвращённый destination, origin, path, тип события и факт сетевого запроса. Далее состояние полностью возвращается и baseline измеряется ещё раз. PASS возможен, когда destination совпадает с ожидаемыми origin/path и не наследует посторонний адрес из документа. Production, реальные аккаунты, чужие сайты, VPN-конфиги, маршрутизация и пользовательские данные в процедуру не входят. Если rollback не возвращает исходные признаки, весь прогон помечается invalid независимо от привлекательности результата.
Решение и минимальный handoff
Финальное решение хранится как протокол «document origin → init event → returned destination → mock hit». Reproduced означает только выполнение условия «destination совпадает с ожидаемыми origin/path и не наследует посторонний адрес из документа» на этом стенде; not reproduced не опровергает проблему в других средах. Стоп-линия: остановиться, если тест требует реальный protected media, лицензионный сервер, ключ, токен или внешнюю сеть. Для передачи разработчику достаточно минимального fixture, версии, обезличенных значений «инициирующий document URL, возвращённый destination, origin, path, тип события и факт сетевого запроса», результата контрольной ветки, отметки rollback и ссылки на 317970@main. Статья не обещает индексацию, позиции, спрос, стабильную поддержку или автоматическое исправление; сомнительный либо неполный прогон не должен становиться новым URL.
Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 317970@main, техническая граница, контроль, rollback, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 317970@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.