Improvement: make the debug log's timezone explicit
Summary
The Settings → Debug log table renders created_at with l(entry.created_at, format: :long) inside Time.use_zone(Current.family.timezone). When the family has no timezone configured (Settings → Preferences → Timezone is blank, which is the default after onboarding) that resolves to the app default, UTC, with nothing on the page saying so. Metadata JSON in the expandable cell contains raw ISO-8601 UTC timestamps (enqueued_at, provider timestamps, timezone: "UTC" from ActiveJob) regardless of the family zone.
When correlating with host logs (journald / Sidekiq output in local time) this reads as "the debug log is off by N hours" — e.g. a job visible at 21:00 local in journalctl appearing after 01:00 the next day in the debug log.
Proposal
- Show the effective timezone in the debug log table header or column header: "Time (America/New_York)" / "Time (UTC)".
- When the family timezone is blank, add a one-line hint linking to Settings → Preferences.
- Optional: note in the metadata disclosure that timestamps inside metadata are raw provider/job values in UTC.
Acceptance criteria
- Debug log page states the timezone used for the Time column.
- Blank family timezone shows a hint to set one.
- No change to how timestamps are stored or captured.
Investigation notes (for reviewers)
Localize#switch_timezone→Time.use_zone(family.timezone || Time.zone);config.time_zoneis unset (UTC)._log_table.html.erb:19unchanged since 2026-05.- Callback ordering is correct (Authentication before Localize), so
Current.familyis available when the zone is resolved.
Source: we-promise/sure