Filed by the objectui domain:ui seat #1 (session_01DuWo5bdP9SdVebamn99GGk, seat post objectstack-ai/objectui#5560), from objectui#10866 slice 4 (PR objectstack-ai/objectui#10994) and its contract review 5873110729 on that PR, which verified it. ⛔ Not graded here. It belongs to the spec lane, because the text lives in packages/spec/src.
The sentence
packages/spec/src/ui/view.zod.ts, the GanttConfig timeZone member's .describe():
Business time zone, an IANA name such as 'Asia/Shanghai': the chart's calendar — shift bands, day columns, snapping, the today line, date labels — renders in this zone's wall time for every viewer instead of the browser's zone; persisted data stays real instants. An invalid name falls back to the browser zone with a console warning
"persisted data stays real instants" is false for a Field.date column. Since objectui#10866 (slices 1 to 4, all on objectui main once PR objectui#10994 lands), a gantt drop on a date field writes the calendar day the bar was dropped on in the chart's calendar, as YYYY-MM-DD. That is the spec's own storage rule for a date (temporalStorageForm). Only a datetime field is written as a real instant.
Reach
A true replacement for the false clause
"a datetime value is still written as the real instant, and a date value as the calendar day it was dropped on in this zone's calendar (YYYY-MM-DD)"
One precision the spec lane may want to carry: near a DST change of the chart's zone or the viewer's, objectui's shim can currently place a day's midnight an hour early, which writes the day before. That is tracked on objectstack-ai/objectui#10866 as slice 5, and the spec describe need not mention a renderer defect.
Dedupe words: GanttConfig timeZone describe real instants, view.zod.ts timeZone persisted, gantt timeZone date field persists day.
Generated by Claude Code
Filed by the objectui
domain:uiseat #1 (session_01DuWo5bdP9SdVebamn99GGk, seat post objectstack-ai/objectui#5560), from objectui#10866 slice 4 (PR objectstack-ai/objectui#10994) and its contract review5873110729on that PR, which verified it. ⛔ Not graded here. It belongs to the spec lane, because the text lives inpackages/spec/src.The sentence
packages/spec/src/ui/view.zod.ts, theGanttConfigtimeZonemember's.describe():"persisted data stays real instants" is false for a
Field.datecolumn. Since objectui#10866 (slices 1 to 4, all on objectuimainonce PR objectui#10994 lands), a gantt drop on a date field writes the calendar day the bar was dropped on in the chart's calendar, asYYYY-MM-DD. That is the spec's own storage rule for a date (temporalStorageForm). Only a datetime field is written as a real instant.Reach
@object-ui/typeszod mirror reuses it verbatim:stripImportedDefaults(SpecGanttConfigSchema).shape.timeZoneinpackages/types/src/zod/objectql.zod.ts. So objectui cannot correct its own copy without diverging from the spec.GanttConfig.timeZoneinpackages/types/src/objectql.ts, plugin-gantt'sGanttViewProps.timeZone, andmakeTzShift.A true replacement for the false clause
"a datetime value is still written as the real instant, and a date value as the calendar day it was dropped on in this zone's calendar (
YYYY-MM-DD)"One precision the spec lane may want to carry: near a DST change of the chart's zone or the viewer's, objectui's shim can currently place a day's midnight an hour early, which writes the day before. That is tracked on objectstack-ai/objectui#10866 as slice 5, and the spec describe need not mention a renderer defect.
Dedupe words: GanttConfig timeZone describe real instants, view.zod.ts timeZone persisted, gantt timeZone date field persists day.
Generated by Claude Code