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

Inspector теряет response end без request timing в Safari TP 251

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

Resource имеет зафиксированное окончание ответа, но Timeline/Network не показывает его, если отсутствует блок request timing. Разбор Safari TP 251: самостоятельный диагностический артефакт, прямые источники, опровержимый контроль, обратимый canary, stop-line и privacy-safe handoff.

Ответ на запрос: Inspector теряет response end без request timing в Safari TP 251

Узкая граница защищает вывод от случайного совпадения. Единственная пользовательская боль: resource имеет зафиксированное окончание ответа, но Timeline/Network не показывает его, если отсутствует блок request timing. Нормализованный intent этой страницы — «как проверить response end time без request timing data Safari Technology Preview 251». Критерий, который можно опровергнуть: responseEnd присутствует и идёт не раньше responseStart, даже если request timing отсутствует. Возможная ложная причина сформулирована отдельно: нулевая duration из cache, ошибочно принятая за отсутствующий timestamp. До запуска выбирается такая развилка: end отсутствует только без request timing — reproduced; HTTP-control тоже пуст — instrumentation-invalid; resource pending — blocked. Если нужная поверхность отсутствует, ставится `unsupported`; если нет обязательного наблюдения, ставится `unknown`; оба статуса отличаются от `not-reproduced`. Проверка выполняется на изолированном fixture, поэтому не затрагивает production, VPN, маршрутизацию, рабочий профиль, реальные аккаунты или личные данные. Вывод нельзя переносить на stable Safari, другой браузер либо чужой сайт без отдельного опыта.

Доказательная граница 318360@main@main

Факт изменения берётся из прямой цепочки WebKit. WebKit датирует Safari Technology Preview 251 26 августа 2026 года и перечисляет изменение: разрешено сохранять response end times для resources, у которых нет request timing data. Связанная primary-страница 318360@main@main была открыта 29 августа: identifier совпадает, commit title описывает тот же узкий механизм. Для темы «resource имеет зафиксированное окончание ответа, но Timeline/Network не показывает его, если отсутствует блок request timing» этого достаточно только чтобы подтвердить наличие change item и его инженерную границу. Release Notes и 318360@main@main не измеряют количество затронутых пользователей, не доказывают поисковый спрос, не сообщают результат для произвольного приложения и не гарантируют попадание в стабильную версию. Google News, Reddit и Apple search results были лидами к перепроверке даты; их заголовки и комментарии не использованы как техническое evidence.

Артефакт опыта: аудит полноты `resource lifecycle event → timestamp presence/order`

Рабочий результат имеет собственную форму. Здесь это аудит полноты `resource lifecycle event → timestamp presence/order`. Локальный стенд: локальный resource loader с одним data/blob случаем без обычного network timing и одним HTTP control. Схема записи специфична для задачи: `resourceKind` — наблюдаемое значение или пусто с причиной; `requestStartPresent` — наблюдаемое значение или пусто с причиной; `responseStartPresent` — наблюдаемое значение или пусто с причиной; `responseEndPresent` — наблюдаемое значение или пусто с причиной; `responseEnd` — наблюдаемое значение или пусто с причиной; `eventOrder` — наблюдаемое значение или пусто с причиной; `durationDerived` — наблюдаемое значение или пусто с причиной. В строке 318360@main добавляются `expected`, `observed`, build, timestamp и единица, если она применима. Формула или источник каждого вычисленного значения указывается рядом; пропуск не превращается в ноль. IP, cookie, Authorization, токены, device labels, внешние URL, пути, сырые media и содержимое файлов исключаются до записи. Test-only идентификаторы разрешены в виде краткого hash внутри запуска и удаляются после cleanup. Именно набор «resourceKind, requestStartPresent, responseStartPresent, responseEndPresent, responseEnd, eventOrder, durationDerived» делает материал самостоятельным: он отвечает на боль «resource имеет зафиксированное окончание ответа, но Timeline/Network не показывает его, если отсутствует блок request timing», а не подставляет другое название в универсальный браузерный чек-лист.

Control и решение для 318360@main

Контрольная ветка должна уметь сломать объяснение. Для 318360@main используется: обычный HTTP resource с полным timing и тот же event reader на записи без request block. Он получает тот же build, порядок событий и поля «resourceKind, requestStartPresent, responseStartPresent, responseEndPresent, responseEnd, eventOrder, durationDerived». Проверяемый confounder — нулевая duration из cache, ошибочно принятая за отсутствующий timestamp. Если основная ветка отклоняется, а control остаётся спокойным, применяется развилка «end отсутствует только без request timing — reproduced; HTTP-control тоже пуст — instrumentation-invalid; resource pending — blocked». Если отклоняется control, итог `invalid`; если control технически недоступен, итог `environment-blocked`; если значения неполны, итог `inconclusive`. Нельзя объявлять дефект только потому, что фраза «resource имеет зафиксированное окончание ответа, но Timeline/Network не показывает его, если отсутствует блок request timing» похожа на сообщение форума. Сначала должны совпасть fixture, измеряемая поверхность и ожидаемый ответ «responseEnd присутствует и идёт не раньше responseStart, даже если request timing отсутствует». Этот порядок запрещает объяснение задним числом и сохраняет различие между соседними API, layout и media change items.

Обратимый canary и критерий PASS

Разрешена ровно одна обратимая операция. Для этой статьи действие сформулировано так: создать один resource без request timing, дождаться load/end, затем удалить объектный URL. Сначала заполняется baseline по полям «resourceKind, requestStartPresent, responseStartPresent, responseEndPresent, responseEnd, eventOrder, durationDerived», затем выполняется только указанная операция. После заранее выбранного settle-event те же поля читаются повторно без округления и подмены отсутствующих значений. PASS допустим лишь при условии: responseEnd присутствует и идёт не раньше responseStart, даже если request timing отсутствует. Затем действие полностью откатывается, и baseline для артефакта «аудит полноты `resource lifecycle event → timestamp presence/order`» должен восстановиться. Несовпадение rollback переводит запись в `invalid`, даже если основная ветка выглядела убедительно. Canary не расширяют на production, пользовательский media, рабочие разрешения, продолжительный стресс-тест или внешние страницы. Один run сохраняет свою строку; повтор не перезаписывает редкое отклонение.

Stop-line и privacy-safe handoff

Итог хранится как ограниченный статус. Немедленная остановка: timestamp подменяется `performance.now`, ресурс не завершился или сравниваются разные clocks. Для повторения оставляют build, hash fixture, поля «resourceKind, requestStartPresent, responseStartPresent, responseEndPresent, responseEnd, eventOrder, durationDerived», expected/observed, control status, cleanup status и primary link 318360@main@main. Статус выбирается из `reproduced`, `not-reproduced`, `unsupported`, `environment-blocked`, `invalid`, `inconclusive`, `unknown`; отдельной строкой приводится развилка «end отсутствует только без request timing — reproduced; HTTP-control тоже пуст — instrumentation-invalid; resource pending — blocked». Перед передачей удаляются пути, имена, адреса, labels и любые значения, способные идентифицировать пользователя либо инфраструктуру. Даже успешный handoff подтверждает только условие «responseEnd присутствует и идёт не раньше responseStart, даже если request timing отсутствует» в этом fixture. Он не обещает автоматическое исправление, стабильную поддержку, индексацию, позицию, цитирование ИИ или доказанный спрос.

Материал подготовлен редакцией VOne с помощью ИИ; дата Release 251, primary 318360@main, техническая граница, самостоятельный артефакт, control, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.

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

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

Ответы

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

Ваш ответ

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

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

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