Safari Technology Preview 251: закрытые Canvas recordings остаются удержанными и память инспекторской сессии растёт после повторов. People-first проверка: кривая удержания «cycle → created recordings → closed recordings → retained count/resource estimate»; синтетический стенд, опровержимый контроль, один обратимый шаг, stop-line и минимизированный handoff.
Ответ и граница: Web Inspector
Начните не с переключения настроек, а с проверяемой границы. Запрос «как проверить pruning неиспользуемых Canvas recordings в Safari Technology Preview 251» относится только к ситуации: закрытые Canvas recordings остаются удержанными и память инспекторской сессии растёт после повторов. Условие успеха записывается до запуска: закрытые записи не накапливаются линейно, а открытая control-запись остаётся доступной до явного закрытия. Внешне похожая ошибка сама по себе ничего не доказывает; отдельно проверяется ловушка «обычный cache или allocator high-water mark, ошибочно названный утечкой конкретных Canvas recordings». Похожий внешний эффект не равен той же причине: feature detection, версия и неизменяемые условия фиксируются заранее; отсутствие API означает unsupported, а отсутствие наблюдения — unknown. Производственный сайт, реальный аккаунт и пользовательские данные исключены.
Что подтверждают Release 251 и 318613@main
Официальные WebKit Release Notes датированы 26 августа 2026 года и для Safari Technology Preview 251 сообщают: исправлено удержание памяти Canvas recordings путём pruning записей, которые больше не используются. Строка релиза ведёт к первичной записи 318613@main; её commit title и доступность перепроверены 29 августа. Факт релиза отделён от спроса: прямые страницы подтверждают формулировку change item, тогда как реакции форума и поисковые snippets не подтверждают причину либо популярность. Технический предел статьи совпадает с формулировкой 318613@main и не расширяется поисковым заголовком.
Стенд и рабочий артефакт 318613
Стенд: локальный canvas с десятью синтетическими draw calls и серия коротких Inspector recordings без внешних изображений. До воздействия без интерпретации запишите: recording id, action count, open/closed state, retained recording count, graphics resource estimate и GC checkpoint class. Рабочий артефакт — кривая удержания «cycle → created recordings → closed recordings → retained count/resource estimate». Используется минимизация данных: фиксируется allowlist наблюдений и validity flag, а всё идентифицирующее удаляется до сохранения. Если этого недостаточно, статус — environment-blocked. Наблюдение не интерпретируется до прохождения control и финального cleanup.
Контроль, который может опровергнуть гипотезу
Контроль готовят до canary, иначе он превращается в объяснение задним числом. Для этой боли используется: те же draw calls без Canvas recording и один открытый recording как положительный retention-control. Он проходит тот же порядок запуска, settle-событие и набор полей, что основная ветка. Риск «обычный cache или allocator high-water mark, ошибочно названный утечкой конкретных Canvas recordings» получает отдельный признак. Положительный результат допустим лишь при валидной отрицательной ветке. Отказ обеих веток показывает проблему fixture либо среды и блокирует технический вывод. Такой дизайн делает тезис опровержимым и не требует доступа к исходным данным пользователя.
Одно обратимое воздействие
Разрешён один шаг: записать и закрыть одну короткую сессию, повторить фиксированное число циклов и завершить инспектор. Сначала снимите baseline, затем выполните только указанную операцию, дождитесь заранее выбранного события завершения и повторите поля «recording id, action count, open/closed state, retained recording count, graphics resource estimate и GC checkpoint class». Один шаг отделён от полного cleanup. Если cleanup не подтверждён или settle не определён, результат нельзя повышать выше unknown/invalid. PASS допустим, когда закрытые записи не накапливаются линейно, а открытая control-запись остаётся доступной до явного закрытия. Результат не усиливают словами о массовости; production, VPN, маршрутизация, чужие сайты и реальные media остаются вне опыта.
Stop-line, решение и минимальный handoff
В отчёт попадает не впечатление, а заранее определённый критерий PASS. Остановитесь, если используется реальная страница, memory pressure меняет систему, открыта старая recording или измерение смешивает process RSS. Финальная запись хранит кривая удержания «cycle → created recordings → closed recordings → retained count/resource estimate», результат контроля, отметку rollback и ссылку на 318613@main. Решение хранится как один из шести статусов с причиной. Это не прогноз stable Safari и не обещание автоматического исправления проекта. Пакет поддержки сокращается до версии, шагов, allowlist наблюдений, результата опровержения и stop-line. Никаких дампов аккаунта, cookie либо секретов. PASS означает только условие «закрытые записи не накапливаются линейно, а открытая control-запись остаётся доступной до явного закрытия». Материал не обещает индексацию, позиции, поисковый спрос, stable-поддержку или автоматическое исправление.
Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 318613@main, техническая граница, независимый контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318613@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.