Safari Technology Preview 251: Safari Web Extension не принимает ожидаемый domain/subdomain wildcard в externally_connectable.matches. People-first проверка: матрица границы «pattern → parent/subdomain/sibling → connect result»; синтетический стенд, опровержимый контроль, один обратимый шаг, stop-line и минимизированный handoff.
Ответ и граница: Web Extensions
Здесь полезен узкий эксперимент, а не догадка по внешнему симптому. Запрос «как проверить wildcard domain в externally_connectable matches Safari Technology Preview 251» относится только к ситуации: Safari Web Extension не принимает ожидаемый domain/subdomain wildcard в externally_connectable.matches. Условие успеха записывается до запуска: parent/subdomain совпадают только по заданному pattern, а sibling остаётся запрещённым. Внешне похожая ошибка сама по себе ничего не доказывает; отдельно проверяется ловушка «host_permissions или content script match, ошибочно принятые за externally_connectable policy». Не делайте вывод по одной картинке. Сначала отделите unsupported от environment-blocked, запишите версию и не меняйте второй параметр ради красивого результата. Производственный сайт, реальный аккаунт и пользовательские данные исключены.
Что подтверждают Release 251 и 318361@main
Официальные WebKit Release Notes датированы 26 августа 2026 года и для Safari Technology Preview 251 сообщают: добавлена поддержка wildcard domains и subdomains в externally_connectable.matches. Строка релиза ведёт к первичной записи 318361@main; её commit title и доступность перепроверены 29 августа. Факт релиза отделён от спроса: прямые страницы подтверждают формулировку change item, тогда как реакции форума и поисковые snippets не подтверждают причину либо популярность. Технический предел статьи совпадает с формулировкой 318361@main и не расширяется поисковым заголовком.
Стенд и рабочий артефакт 318361
Стенд: development extension с allowlist из одного тестового parent domain, поддомена и отрицательного sibling без production origins. До воздействия без интерпретации запишите: manifest pattern, sender origin class, connection result, lastError, accepted message count и build id. Рабочий артефакт — матрица границы «pattern → parent/subdomain/sibling → connect result». В таблице оставляют expected/observed, единицу, build и timestamp. IP, cookie, токены, Authorization, реальные query, пути и пользовательские файлы запрещены; недоступное поле остаётся пустым с причиной. Наблюдение не интерпретируется до прохождения control и финального cleanup.
Контроль, который может опровергнуть гипотезу
Сравнение считается валидным, только если меняется одна переменная и обе ветки проходят одинаковый сбор. Для этой боли используется: точный host pattern без wildcard и заведомо чужой sibling domain. Он проходит тот же порядок запуска, settle-событие и набор полей, что основная ветка. Риск «host_permissions или content script match, ошибочно принятые за externally_connectable policy» получает отдельный признак. Canary и control различаются одной переменной. Совместное отклонение опровергает чистоту стенда, а не подтверждает баг; соседняя причина отмечается отдельно. Такой дизайн делает тезис опровержимым и не требует доступа к исходным данным пользователя.
Одно обратимое воздействие
Разрешён один шаг: отправить безличный ping из трёх контролируемых origins и затем удалить development extension. Сначала снимите baseline, затем выполните только указанную операцию, дождитесь заранее выбранного события завершения и повторите поля «manifest pattern, sender origin class, connection result, lastError, accepted message count и build id». Не добавляйте вторую мутацию. Сначала запишите исходное состояние, затем одну проверку, а в конце докажите возврат тем же набором полей. PASS допустим, когда parent/subdomain совпадают только по заданному pattern, а sibling остаётся запрещённым. Результат не усиливают словами о массовости; production, VPN, маршрутизация, чужие сайты и реальные media остаются вне опыта.
Stop-line, решение и минимальный handoff
Неполный прогон нельзя превращать в уверенное утверждение или новый соседний URL. Остановитесь, если тестовый origin не контролируется, extension использует broad permission, manifest преобразован сборщиком или сообщение содержит данные. Финальная запись хранит матрица границы «pattern → parent/subdomain/sibling → connect result», результат контроля, отметку rollback и ссылку на 318361@main. Не превращайте not reproduced в опровержение для всех. Результат описывает лишь этот build и выбранный control, а пробелы получают явный unknown. Разработчику передают минимальный код, обезличенную таблицу, статус control/cleanup и ссылку на commit. Полный профиль браузера или пользовательский контент не нужен. PASS означает только условие «parent/subdomain совпадают только по заданному pattern, а sibling остаётся запрещённым». Материал не обещает индексацию, позиции, поисковый спрос, stable-поддержку или автоматическое исправление.
Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 318361@main, техническая граница, независимый контроль, обратимость, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318361@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.