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

Safari Technology Preview 251 игнорирует type в import attributes при resolution

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

Safari Technology Preview 251 игнорирует type в import attributes при resolution. Локальная диагностическая процедура, карта «specifier × attribute type × module request key × result/error», отрицательный контроль и безопасный критерий остановки без production-данных.

Короткий ответ и точная граница симптома

Для запроса «как проверить import attribute type при module resolution в Safari Technology Preview 251» проверяется ровно одна ситуация: два module request к одному URL с разным import attribute type ошибочно считаются одним запросом. Разные type должны участвовать в идентичности запроса и не наследовать чужой результат. Unsupported syntax фиксируется до network вывода. Это вывод только для Safari Technology Preview 251 и минимального примера; стабильный Safari, другие браузеры и конкретный сайт требуют отдельного прогона. Ключевой риск ложного вывода: HTTP cache и module map — разные уровни; счётчик сети сам по себе не доказывает правильную module identity. Поэтому ожидаемое состояние формулируется до действия, а неизвестный результат остаётся unknown.

Доказательная опора: Release 251 и 318292@main

Официальные release notes WebKit опубликованы 26 августа 2026 года и прямо сообщают: module resolution теперь учитывает import attribute type в module request. Пункт ведёт на 318292@main, то есть на первичную запись изменения в WebKit. Связка release page и commit подтверждает наличие технического изменения, но не его распространённость, поисковую частоту или результат на пользовательском проекте. Google News и публичные community-страницы остаются leads: их сниппеты, голоса и отдельные ответы не используются как доказательство причины.

Диагностический паспорт: карта «specifier × attribute type × module request key × result/error»

До воздействия заполните поля: specifier URL, attribute type, module kind, network request count, resolved module identity, error type и cache behavior. Рабочий артефакт — карта «specifier × attribute type × module request key × result/error». Отрицательный или сравнительный контроль: два одинаковых request с одинаковым type показывают ожидаемое повторное использование module record. К каждому наблюдению добавляются точная сборка TP 251, время, zoom и короткие expected/observed; сведения из памяти не подставляются. Не сохраняются имя профиля, IP, cookie, токены, Authorization, локальные пути, полные URL с приватными query и содержимое рабочих документов. Если обязательное поле нельзя измерить безопасно, статья предписывает остановку, а не догадку.

Пошаговый canary, контроль и полный возврат

На отдельной локальной странице нужно на локальном сервере запросить один контролируемый resource двумя import-декларациями с разными type, записать resolution, затем повторить каждую декларацию отдельно в новой странице. Сначала снимается baseline, затем меняется только одна названная переменная и выполняется один заранее определённый ввод. После записи результата применяется контроль: два одинаковых request с одинаковым type показывают ожидаемое повторное использование module record. Затем исходное состояние полностью восстанавливается и baseline измеряется ещё раз. Прогон получает invalid test, если rollback не вернул исходные значения, вмешалось расширение, не пришло доверенное пользовательское событие или среда не предоставляет нужный API/UI. В таком случае не добавляют второе изменение и не объявляют браузер неисправным.

Развилка решения, красная линия и пакет воспроизведения

Разные type должны участвовать в идентичности запроса и не наследовать чужой результат. Unsupported syntax фиксируется до network вывода. Практический результат хранится как карта «specifier × attribute type × module request key × result/error». Статус reproduced ставится только после одинакового повторения и успешного rollback; not reproduced относится лишь к текущему fixture; unsupported и environment-blocked не смешиваются с unknown. Красная линия: не направлять canary на внешние CDN и не менять MIME response одновременно с attribute type. Для передачи в поддержку достаточно версии, минимального HTML/CSS/JS, таблицы expected/observed, контрольного результата и ссылки на 318292@main. Перед отправкой удаляются идентификаторы и реальные данные. Материал не обещает исправление, индексацию, позицию или универсальное поведение другой версии Safari.

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

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

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

Ответы

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

Ваш ответ

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

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

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