Intl и Temporal теряют era или monthCode в Safari Technology Preview 251: календарный тест. Практическая проверка Safari Technology Preview 251: календарная ведомость «calendar × ISO reference × era × eraYear × monthCode × formatted parts», обратимый canary и ясный критерий остановки.
Симптом и граница поля era и monthCode в Intl и Temporal calendars
Вопрос здесь один: как проверить era и monthcode в intl temporal safari technology preview 251. Наблюдаемое расхождение — не-ISO дата сериализуется или форматируется без ожидаемой эры либо с неоднозначным номером месяца. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «request → policy gate → runtime object → cleanup». Любая другая ошибка остаётся за пределами этого URL.
Два первичных источника для 318428@main
Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет поля era и monthCode в Intl и Temporal calendars. Эта строка ссылается на 318428@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.
Поля контроля: календарная ведомость «calendar × ISO reference × era × eraYear × monthCode × formatted parts»
Базовый набор для этой задачи: calendar id, locale, era, eraYear, monthCode, ISO reference и formatToParts без пользовательских дат. Поле «calendar id»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «locale»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «era»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «eraYear»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Поле «monthCode»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «ISO reference»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «formatToParts без пользовательских дат»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.
Обратимый опыт для поля era и monthCode в Intl и Temporal calendars
Одиночный canary: взять две фиксированные тестовые даты из разных эр, сравнить поля Temporal и части Intl, затем удалить экспериментальную ветку. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Используйте фиксированные публичные даты и явно задайте calendar и locale. era, eraYear и monthCode сохраняйте как отдельные поля: форматированная строка может скрывать различие. ISO reference нужен для повторяемости, но не заменяет семантику выбранного календаря. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.
Как принять решение: календарная ведомость «calendar × ISO reference × era × eraYear × monthCode × formatted parts»
Практический итог — календарная ведомость «calendar × ISO reference × era × eraYear × monthCode × formatted parts». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «не-ISO дата сериализуется или форматируется без ожидаемой эры либо с неоднозначным номером месяца» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.
Красная линия и минимальный report 318428@main
Стоп-линия: не прогонять реальные даты рождения и не пересчитывать сохранённые даты до сверки временной зоны и календаря. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, календарная ведомость «calendar × ISO reference × era × eraYear × monthCode × formatted parts» и ссылки на 318428@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.
Материал подготовлен редакцией VOne с помощью ИИ; границы фактов, дата, первичный WebKit commit, стоп-линия и роль community lead постатейно проверены 29 августа 2026 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318428@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.