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

Accept-Language в Worker и WebSocket Firefox 154: проверка locale override

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

Accept-Language в Worker и WebSocket Firefox 154: проверка locale override. Практический people-first разбор: безопасный baseline, один обратимый тест, матрица результата и явная стоп-линия без лишних данных.

От симптома к проверяемой гипотезе

Здесь разбирается одна отдельная пользовательская боль: тес меняе locale, но main document, worker fetch и WebSocket handshake видят разные Accept-Language. Проверяемый вопрос сформулирован узко: как проверить Accept-Language locale override в worker и WebSocket Firefox 154. Сходство по времени с обновлением не является доказательством причины. Сначала запишите наблюдаемый результат, точную версию и один ожидаемый результат; соседние сбои сети, профиля, расширений или устройства не включайте автоматически. Цель материала — получить таблица «request source × requested locale × Accept-Language × context × rollback value», а не объявить версию виновной по одному совпадению. Пользователь сначала называет ожидаемый результат простыми словами, и только затем выбирается техническая гипотеза. Для WebDriver симптом фиксируется на одной локальной fixture и одной паре browser/driver.

Доказательство и его предел

В открытых первичных документах подтверждено следующее: Firefox 154 распространил WebDriver BiDi locale override на workers, включая WebSocket. Это утверждение относится к Firefox 154 и не доказывает частоту симптома, долю затронутых устройств, популярность запроса или универсальность поведения. Контролируемый rollout, политика и поддержка API проверяются на конкретной установке отдельно. Источники ниже служат для границы технического факта; форумные и поисковые упоминания не использованы как доказательство причины. Нормативный или официальный текст используется для проверки свойства, события либо политики и ни для чего шире. BiDi-спецификация задаёт форму команды или события, а не стабильность конкретного тестового набора.

Подготовка наблюдения

До изменения соберите минимальный baseline: browser/driver build, requested locale, normalized Accept-Language для document/worker/WebSocket, context id и время установки override. Не добавляйте полный профиль, историю просмотра, токены, IP-адреса или персональные данные, если они не меняют воспроизводимость. Для неизвестного значения оставьте unknown вместо догадки. Запишите версию, время и ожидаемый результат до опыта. Такой baseline позволяет отличить конфигурацию от версии и делает последующий откат проверяемым, не расширяя доступ к рабочей среде. Baseline снабжается временем наблюдения, чтобы данные до и после изменения нельзя было случайно переставить. Context id и event id допустимы только как одноразовые метки внутри очищенного запуска.

Обратимая последовательность

Выполните ровно один обратимый контроль: на локальной echo-fixture задать одну locale, послать document fetch, worker fetch и WebSocket handshake, затем удалить override и повторить. Сохраните порядок A → контролируемое изменение B → возврат к A. Между шагами записывайте только наблюдаемое состояние из baseline; не обновляйте одновременно браузер, драйвер, ОС и тестовый код. Если возврат к A не восстанавливает исходный результат, причинная связь не подтверждена и эксперимент следует остановить, а не добавлять новые вмешательства. Если A нельзя безопасно восстановить, опыт не начинается: наблюдение остаётся документированным, но непроверенным. Каждый тест завершает сессию и проверяет отсутствие оставшихся prompt, stream или override.

Рабочий артефакт

Сведите наблюдения в таблица «request source × requested locale × Accept-Language × context × rollback value». Для каждого ряда укажите один из статусов: reproduced, not reproduced, stopped или unknown. Reproduced означает только локальную воспроизводимость в записанном окружении; оно не переносится на все версии и устройства. Not reproduced не опровергает официальный факт, а показывает, что выбранный контроль не повторил боль. Unknown сохраняется, если отсутствует обязательный вход или rollback не завершён. Статусы в артефакте описывают качество наблюдения; они не превращаются в оценку продукта или пользователя. Flaky и protocol mismatch различаются по временной шкале, а не по числу повторных запусков.

Условия остановки

Критерий остановки: не отправлять тестовые запросы на чужие серверы, не логировать cookies и не оставлять locale override между тестами. Для обращения достаточно обезличить версию, короткий expected/actual, три шага, статус возврата и таблица «request source × requested locale × Accept-Language × context × rollback value». Удалите имена, пути, адреса, cookies, токены, содержимое медиа и полные дампы. Если вложение нельзя очистить, не отправляйте его. Не выдавайте локальный результат за массовый эффект и не обещайте исправление: материал формирует воспроизводимый вопрос для владельца продукта или теста. Пакет поддержки должен позволять повторить три шага без доступа к аккаунту, рабочему контенту и локальной сети автора. Логи сокращаются до метода, статуса и времени; пути, URL-параметры и содержимое страницы удаляются.

Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения, источники и границы вывода постатейно сверены с указанными первичными документами 28 августа 2026 года.

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

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

Ответы

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

Ваш ответ

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

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

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