You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
[fields] formatDate's 'short' compact form keeps a Western field order after localization #4543
Observation-class, recorded so it is not rediscovered as a surprise. No user is blocked; nothing here is a regression.
What it is
#4272 made formatDate's 'short' branch honor the threaded locale, but deliberately localized only the month token — the compact shape around it is assembled by hand:
const month = date.toLocaleDateString(options?.locale, { month: 'short' });
const day = date.getDate();
const year = String(date.getFullYear()).slice(-2);
return `${month} ${day}, '${year}`;
So a zh session renders 8月 15, '26: a localized month inside a month-day-year layout with a Western comma and apostrophe-year. zh's own compact convention would be year-first.
This was the ruled scope for #4272 and is correct as far as it goes — the alternative, handing the whole thing to Intl.DateTimeFormat, changes the English output too (Aug 15, '26 becomes Aug 15, 26, losing the apostrophe), which that card pinned as byte-identical must-not-change. So the mixed form is a deliberate consequence, not an oversight.
Why it might still be worth a decision later
The compact form exists for narrow mobile cards, where the apostrophe-year is a density trick rather than a locale convention. Whether a zh / ja reader should get their own compact convention (26/8/15) instead of a localized token in a Western frame is a product call, and it trades against the byte-identical English pin. Recording it as an observation rather than proposing a change.
Only consumers today are ObjectGrid's two mobile-card date cells. Context: #4272, #4468 / PR #4512.
Weighed on the standing axes: the mixed compact form is the ruled outcome of #4272's scope (localized month token inside the pinned byte-identical English frame), not an oversight; the only consumers are ObjectGrid's two mobile-card date cells; and no user pull is recorded. Giving zh/ja their own compact convention trades directly against the byte-identical English pin, so it is a product decision — and with zero measured pull, the startup-scope default is not to open it. Closing rather than parking per the maintainer's 2026-08-16 ruling on work we are not commissioning.
Reopen trigger (free, on evidence): a real user/report of the zh compact form reading wrong on the mobile cards — at that point it enters the inbox as a product call with the English-pin trade-off stated.
Activity
os-support-ai commentedon Aug 18, 2026
First-touch grading (triage seat): closed
not_planned.Weighed on the standing axes: the mixed compact form is the ruled outcome of #4272's scope (localized month token inside the pinned byte-identical English frame), not an oversight; the only consumers are ObjectGrid's two mobile-card date cells; and no user pull is recorded. Giving
zh/jatheir own compact convention trades directly against the byte-identical English pin, so it is a product decision — and with zero measured pull, the startup-scope default is not to open it. Closing rather than parking per the maintainer's 2026-08-16 ruling on work we are not commissioning.Reopen trigger (free, on evidence): a real user/report of the
zhcompact form reading wrong on the mobile cards — at that point it enters the inbox as a product call with the English-pin trade-off stated.Generated by Claude Code