Skip to content

fix(scheduler): show short server timezone on fixed-time labels - #23111

Open
shawk08033 wants to merge 1 commit into
pingdotgg:mainfrom
shawk08033:fix/scheduler-timezone-short-label
Open

shawk08033 wants to merge 1 commit into
pingdotgg:mainfrom
shawk08033:fix/scheduler-timezone-short-label

Conversation

@shawk08033

@shawk08033 shawk08033 commented Oct 21, 2026 •

Copy link
Copy Markdown

Summary

Fixes #18632.

Fixed-time schedules run in the server timezone, but list/editor labels showed an unqualified wall-clock time (Daily at 16:31). A remote client can read that as its own local time.

This restores the timeZone field on ScheduledTaskListResult (as in #18653) and appends a short zone label — UTC, PDT, GMT+5:30 — instead of the full IANA name that overflowed the automations panel and led to revert #22230.

Scheduling behavior is unchanged; only labeling/display.

Evidence

Problem (accepted in #18632): the missing zone on the label is the bug, not the zone schedules run in.

Label format (from unit tests on this branch):

Case Before After
UTC server fixed-time Daily at 16:31 Daily at 16:31 UTC
America/Los_Angeles would have been full IANA in #18653 PDT / PST / GMT-7
Asia/Kolkata full IANA GMT+5:30 (or IST)
Older servers (no timeZone) Daily at 09:00 unchanged
Interval / webhook unchanged unchanged

Surfaces updated: Settings scheduled-task rows, Run at editor, Thread Automations panel, mobile scheduled-task list/editor.

Checks run:

pnpm --filter t3 exec vp test run src/scheduledTasks/ScheduledTaskService.schedule.test.ts
→ 3 passed (includes new timeZone list/subscribe coverage)

pnpm --filter @t3tools/web exec vp test run --project unit \
  src/components/settings/scheduledTasksSettings.logic.test.ts
→ 20 passed (includes short-zone label regressions)

Browser tests:

PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64 \
  pnpm --filter @t3tools/web exec playwright install chromium

pnpm --filter @t3tools/web exec vp test run --project browser \
  src/components/chat/ThreadAutomationsPanel.permissions.browser.test.tsx
→ 4 passed

(Ubuntu 26.04 needs the host-platform override once to fetch the ubuntu24.04 Chromium build.)

Test plan

  • On a UTC server with a fixed-time task, Settings → Scheduled tasks shows … at HH:MM UTC
  • Thread Automations panel shows the same short zone
  • Run at editor shows the short zone beside the time input
  • Non-UTC server (e.g. America/Los_Angeles) shows PDT/PST/GMT-7, not America/Los_Angeles
  • Interval and webhook rows are unchanged
  • Automations panel row still fits without pushing “next …” off-screen

Fixed-time tasks run in the server zone, but labels showed an unqualified
wall-clock time. Restore the list timeZone field and append a short zone
(UTC, PDT, GMT+5:30) so the automations panel stays compact after pingdotgg#18653
was reverted for overflowing full IANA names.

Fixes pingdotgg#18632

Co-authored-by: Cursor <cursoragent@cursor.com>
@shawk08033

Copy link
Copy Markdown
Author

Before/after evidence image (local generation): short zone labels UTC/PDT instead of unqualified times or full IANA names.

Label examples from unit tests on this branch:

  • Daily at 16:31 → Daily at 16:31 UTC (Etc/UTC)
  • America/Los_Angeles → PDT (not America/Los_Angeles)
  • Asia/Kolkata → GMT+5:30 (not full IANA)

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Oct 21, 2026
@shawk08033

Copy link
Copy Markdown
Author

Browser tests now green on this host after installing Playwright Chromium with:

PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64 pnpm --filter @t3tools/web exec playwright install chromium
pnpm --filter @t3tools/web exec vp test run --project browser \
  src/components/chat/ThreadAutomationsPanel.permissions.browser.test.tsx
→ 4 passed (includes short-zone label coverage)

Ubuntu 26.04 is outside Playwright 1.60’s official host matrix; the override downloads the ubuntu24.04-x64 build. Once cached, subsequent test runs do not need the override.

@macroscopeapp

macroscopeapp Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at c01a227

Macroscope's review found this PR approvable — This is a backward-compatible scheduler-label fix: the server exposes its optional timezone and web/mobile clients append a short zone only for fixed-time schedules. Scheduling execution, interval/webhook labels, older-server behavior, and product defaults remain unchanged, with targeted tests covering the new metadata and formatting.

You can add or adjust custom eligibility rules. Learn more.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

scheduler: scheduled task times shown in UTC instead of local/system time (IST)

1 participant