Заметки о DevTools в Chrome 152 вышли 25 августа 2026 года, и одна строка в них значит больше, чем можно решить по её размеру. Старый пункт меню Replay XHR на панели Network теперь называется просто Resend, и собственное описание этого изменения у Chrome точное:

Теперь поддерживаются все сетевые запросы, которые можно выполнить заново: стандартные запросы преобразуются в вызовы fetch() с сохранением полной точности повтора наряду с XHR.

Replay XHR годами сидел в этом меню и был полезен только для того конкретного вида запросов, который называл. Любой другой упавший запрос - отправку формы, загрузку документа, выгрузку файла - приходилось восстанавливать вручную в виде команды curl или в клиенте. Теперь вы кликаете по нему правой кнопкой и отправляете снова.

Тот же выпуск даёт вкладке Payload варианты декодирования - Base64, Hex и UTF-8 - для двоичных и сжатых тел запросов, повторяя то, что вкладка Response предлагала и раньше. У всякого, кто смотрел на упавшую загрузку файла или на сжатое тело и не видел там ничего пригодного, теперь есть три способа его прочитать.

Почему это важно, когда запрос был не ваш

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

А это большинство отчётов об ошибках. Кто-то наткнулся на сбой, упавший запрос лежит перед вами, и вопрос в том, сможете ли вы дойти от него до причины. Возможность отправить его заново одним кликом и прочитать тело, которое раньше было непрозрачным, убирает из этой работы два поручения.

О чём здесь стоит помнить

При повторной отправке уходит не тот запрос, который упал. Уходит новый запрос, похожий на него.

Он идёт из вашего браузера, с вашими куками, вашей сессией, вашими расширениями и вашим IP-адресом, в момент, который не совпадает с моментом исходного сбоя. Это четыре различия ещё до того, как вы что-то изменили, и каждое из них способно перевернуть результат:

На что отвечает повторная отправка
Падает ли запрос такой формы у меня, отсюда, прямо сейчас?
На что должен отвечать отчёт
Почему этот запрос упал у того человека, в его сессии, в тот момент?

Если 403 при повторе возвращается как 200, разница обычно была в сессии, а не в запросе. Если 500 при повторе снова даёт 500, это подарок: у вас есть воспроизведение, которым вы управляете. Таймаут, который при повторе отвечает мгновенно, говорит вам, что состояние, вызвавшее его, уже прошло, и это ровно случай 504.

Ничто из этого не делает Resend менее полезным. Это превращает его в первый вопрос, а не в ответ, и всё умение в том, чтобы понимать, что именно из двух у вас в руках.

Что должен нести отчёт, чтобы всё это работало

Нельзя отправить заново запрос, которого у вас нет. Доступной эту новую возможность делает то, пережил ли упавший запрос дорогу от человека, который его увидел, к человеку, который его чинит, вместе со своим методом, своим URL, своими заголовками и своим телом.

Именно для этого в отчёте об ошибке нужен сетевой журнал, и именно поэтому HAR-файлы вообще существуют как формат.

Честное ограничение с нашей стороны: мы по умолчанию маскируем заголовки и значения с учётными данными, а на домене, который не попросил иного, маскируем их везде. Поэтому запросу, повторённому из захваченного нами отчёта, обычно потребуется, чтобы авторизацию подставил тот, кто его повторяет. Такой размен мы и выбрали: отчёт представляет собой ссылку, которую кто-то может открыть, а значит всё захваченное фактически становится общим. Об этом стоит знать до того, как вы начнёте гадать, почему повторная отправка вернулась без авторизации.

Session Replay

Бесплатное расширение для Chrome. Один клик на странице, которая ведёт себя не так, захватывает скриншот, консоль и сетевой журнал и отдаёт вам ссылку, которую можно вставить в задачу.

Установить расширение

Остальное в выпуске, коротко

Ещё три вещи из тех же заметок стоят минуты разработчика.

Copy as preload element. Кликните по запросу правой кнопкой и получите готовый к вставке тег <link rel="preload">, что превращает наблюдение о производительности в правку без промежуточного шага с поиском синтаксиса.

Структурированный экспорт таблиц в консоли, чтобы таблица, которую вы вывели в лог, могла покинуть консоль как данные, а не как скриншот данных.

Переключение между деревом DOM и деревом доступности из контекстного меню в Elements, со “scroll into view” для узлов доступности. Мелочь, и она снижает цену проверки того, что большинство команд проверяет реже всего.

Что из этого взять

Заметки о выпуске браузера обычно не стоят второго прочтения, а эти стоят, и по причине, никак не связанной с размером самих возможностей: они улучшают инструменты вокруг свидетельств, собранных кем-то другим. Это та область, в которой большинство инструментов отладки исторически были слабы, потому что они исходят из того, что человек за браузером и есть тот, кто нашёл ошибку.

Обычно это разные люди. Всё, что сокращает расстояние между ними, стоит больше, чем можно решить по заметке о выпуске.

Полный список стоит читать в собственных заметках Chrome: What’s new in DevTools (Chrome 152).