К обсуждениям

Navigation precommit меняет URL до готовности данных в Safari Technology Preview 251: canary

Редакция VOne Технологии

Navigation precommit меняет URL до готовности данных в Safari Technology Preview 251: canary. Практическая проверка Safari Technology Preview 251: диаграмма «navigate event × precommit start × guard result × commit × DOM ready × abort», обратимый canary и ясный критерий остановки.

Симптом и граница перехват навигации через precommit handler

Вопрос здесь один: как проверить navigation api precommit handler в safari technology preview 251. Наблюдаемое расхождение — адрес и history entry фиксируются до того, как приложение выполнило обязательную проверку перехода. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «request → policy gate → runtime object → cleanup». Любая другая ошибка остаётся за пределами этого URL.

Два первичных источника для 319208@main

Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет перехват навигации через precommit handler. Эта строка ссылается на 319208@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.

Поля контроля: диаграмма «navigate event × precommit start × guard result × commit × DOM ready × abort»

Базовый набор для этой задачи: исходный entry, destination, handler start/end, commit moment, abort signal и итоговый DOM state. Поле «исходный entry»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «destination»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «handler start/end»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «commit moment»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Поле «abort signal»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «итоговый DOM state»: повторите после отката; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.

Обратимый опыт для перехват навигации через precommit handler

Одиночный canary: на локальном route задержать только один тестовый переход precommit handler, отдельно проверить разрешение и abort, затем снять intercept. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Отметьте отдельными событиями начало handler, решение guard, commit, DOM ready и abort. Разрешённая и отменённая ветви проверяются на одном локальном route. Любая auth, оплата или запись данных остаётся вне canary, чтобы задержка не стала необратимым действием. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.

Как принять решение: диаграмма «navigate event × precommit start × guard result × commit × DOM ready × abort»

Практический итог — диаграмма «navigate event × precommit start × guard result × commit × DOM ready × abort». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «адрес и history entry фиксируются до того, как приложение выполнило обязательную проверку перехода» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.

Красная линия и минимальный report 319208@main

Стоп-линия: не помещать auth, оплату или необратимую запись в экспериментальный handler и не оставлять искусственную задержку в production. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, диаграмма «navigate event × precommit start × guard result × commit × DOM ready × abort» и ссылки на 319208@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.

Материал подготовлен редакцией VOne с помощью ИИ; границы фактов, дата, первичный WebKit commit, стоп-линия и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.