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

Safari Technology Preview 251: Canvas recording освобождает ресурсы

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

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 года.

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

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

Ответы

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

Ваш ответ

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

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

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