Skip to content

Scheduler: T1327394 — fix appointments display for DST#33416

Open
sjbur wants to merge 2 commits intoDevExpress:26_1from
sjbur:issue-4047_26_1
Open

Scheduler: T1327394 — fix appointments display for DST#33416
sjbur wants to merge 2 commits intoDevExpress:26_1from
sjbur:issue-4047_26_1

Conversation

@sjbur
Copy link
Copy Markdown
Contributor

@sjbur sjbur commented Apr 27, 2026

No description provided.

@sjbur sjbur self-assigned this Apr 27, 2026
@sjbur sjbur added the 26_1 label Apr 27, 2026
@sjbur sjbur force-pushed the issue-4047_26_1 branch from 77bd54a to de2ab9f Compare April 27, 2026 13:03
@sjbur sjbur force-pushed the issue-4047_26_1 branch from de2ab9f to 1fbff3b Compare April 27, 2026 13:31
@sjbur sjbur marked this pull request as ready for review April 27, 2026 15:10
@sjbur sjbur requested a review from a team as a code owner April 27, 2026 15:10
@Tucchhaa Tucchhaa requested a review from Copilot April 28, 2026 05:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes Scheduler timeline/week cell generation around “midnight DST” (where local 00:00 is skipped, e.g. Africa/Cairo), preventing an extra leading cell and ensuring subsequent appointment placement aligns with the first reachable local time.

Changes:

  • Added Cairo timezone regression tests for getWeekIntervals covering midnight DST behavior.
  • Updated getMinutesCellIntervals to start day cell generation from the first reachable local time on midnight DST days.
  • Exposed a new timezone utility helper to adjust day-interval minimums for midnight DST.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
packages/devextreme/js/__internal/scheduler/view_model/generate_view_model/options/get_week_intervals.cairo.test.ts Adds regression coverage for Cairo midnight DST so timeline/week doesn’t generate an unreachable 00:00 cell.
packages/devextreme/js/__internal/scheduler/view_model/generate_view_model/options/get_minutes_cell_intervals.ts Adjusts per-day cell start time to skip unreachable midnight on midnight DST days.
packages/devextreme/js/__internal/scheduler/m_utils_time_zone.ts Adds adjustDayIntervalMinForMidnightDST helper and exports it via timezone utils.

Comment on lines +265 to +269
const date = createDateFromUTCWithLocalOffset(new Date(dayIntervalMin));
const isMidnightDST = startDayHour === 0 && isLocalTimeMidnightDST(date);

return isMidnightDST
? dayIntervalMin + date.getHours() * 60 * 60 * 1000
Comment thread packages/devextreme/js/__internal/scheduler/m_utils_time_zone.ts Outdated
Comment thread packages/devextreme/js/__internal/scheduler/m_utils_time_zone.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants