Safari Technology Preview 251: год эры Before Hijra берётся из календаря. People-first диагностика: карта «UTC date → locale → era part → year part → контрольная эпоха»; синтетический fixture, независимый контроль, одно обратимое воздействие, stop-line и обезличенный handoff.
Проблема и соседняя ловушка
Прямой ответ на запрос «как проверить era year Before Hijra в Intl календаре Safari Technology Preview 251» начинается с границы: проверяется только боль «год до Хиджры вычисляется из отрисованного текста и расходится со структурными calendar fields» на локальном fixture. Успех заранее определяется так: era/year согласуются с календарными parts независимо от порядка слов и локализованной подписи. Нельзя подменять его похожей картинкой, общей скоростью браузера или выводом о стабильном Safari. Отдельная ловушка — локализованный порядок текста, ошибочно использованный как календарное вычисление. Исход получает один из статусов reproduced, not reproduced, unsupported, environment-blocked, invalid или unknown. Первое наблюдение не считается доказательством, пока контроль и возврат к baseline не подтвердили, что изменилась ровно одна причина.
Официальная запись и её ограничения
Официальная страница WebKit от 26 августа 2026 года относит к Safari Technology Preview 251 следующий change item: исправлено вычисление года эры Before Hijra: он берётся из календаря, а не из rendered text. Техническая ссылка — 319172@main. Release note и commit подтверждают наличие конкретного изменения в ветке, но не частоту жалоб, спрос, причинность для чужой страницы, результат на данном компьютере или перенос в стабильный выпуск. Публичная ветка MacRumors перепроверена только как community lead. Её текст, реакции и поисковые snippets не используются как фактологическое evidence и не дают права писать о массовости.
Минимизированный набор наблюдений
Fixture: локальный Intl.DateTimeFormat для исламского календаря с фиксированной UTC-датой и formatToParts без парсинга UI-строки. До действия без интерпретации записываются locale, calendar, UTC date, era part, year part, relatedYear при наличии и полная последовательность parts. Рабочий артефакт — карта «UTC date → locale → era part → year part → контрольная эпоха». У каждой строки есть expected, observed, время, версия TP 251 и флаг валидности. Используются только синтетические данные. Запрещено сохранять cookie, IP, Authorization, токены, реальные URLs с query, имена профилей, пользовательские файлы и полные логи. Если нужное поле нельзя получить без персональных или секретных данных, тест останавливается: пробел не заполняют догадкой и не расширяют сбор.
Отрицательный контроль
Контрольная ветка готовится до canary: контрольное форматирование соседней даты после Хиджры тем же formatter options. Она проверяет, не объясняется ли симптом общей средой или тестовой обвязкой. Риск «локализованный порядок текста, ошибочно использованный как календарное вычисление» получает собственную колонку, потому что совпадение внешнего вида не означает совпадение причины. Если control отклоняется вместе с основной веткой, результат invalid и публикационная формулировка не утверждает воспроизведение. Такой контроль не обещает универсальной корректности; он лишь делает конкретный вывод опровержимым и не позволяет замаскировать соседний сбой вторым изменением.
Обратимый тест
Основной шаг: форматировать одну дату в двух locale при неизменном calendar и извлекать только структурные parts. Сначала фиксируется baseline, затем выполняется только указанное воздействие, после заранее выбранного settle-события повторно снимаются locale, calendar, UTC date, era part, year part, relatedYear при наличии и полная последовательность parts. Далее состояние полностью возвращается и baseline измеряется ещё раз. PASS возможен, когда era/year согласуются с календарными parts независимо от порядка слов и локализованной подписи. Production, реальные аккаунты, чужие сайты, VPN-конфиги, маршрутизация и пользовательские данные в процедуру не входят. Если rollback не возвращает исходные признаки, весь прогон помечается invalid независимо от привлекательности результата.
Вердикт без расширения вывода
Финальное решение хранится как карта «UTC date → locale → era part → year part → контрольная эпоха». Reproduced означает только выполнение условия «era/year согласуются с календарными parts независимо от порядка слов и локализованной подписи» на этом стенде; not reproduced не опровергает проблему в других средах. Стоп-линия: остановиться, если дата создаётся в локальной timezone, options различаются или код повторно парсит rendered string. Для передачи разработчику достаточно минимального fixture, версии, обезличенных значений «locale, calendar, UTC date, era part, year part, relatedYear при наличии и полная последовательность parts», результата контрольной ветки, отметки rollback и ссылки на 319172@main. Статья не обещает индексацию, позиции, спрос, стабильную поддержку или автоматическое исправление; сомнительный либо неполный прогон не должен становиться новым URL.
Материал подготовлен редакцией VOne с помощью ИИ; дата, WebKit Release 251, primary commit 319172@main, техническая граница, контроль, rollback, privacy-stop и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 319172@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.