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

Safari Technology Preview 251: wildcard в externally_connectable

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

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

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

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

Ответы

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

Ваш ответ

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

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

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