Skip to main content

UX-CAT-006 — Keep display timezone consistent with query semantics

FieldValue
StatusOpen finding; source-verified and product-reviewed
SeverityHigh
Affected surfaceCatalog History, Sample values, SQL results, filtering, copy, and export
Implementation issueoqullus #545
Code-change repositorysparqd/oqullus

Where the problem appears​

Switch the History timezone, reload, and compare the network value with TIMESTAMP and TIMESTAMP WITH TIME ZONE values across Catalog and SQL results.

Concrete observed case​

The selector changes only browser rendering for the History field named timestamp and resets on remount. Trino query/session semantics do not change. Extending the formatter to data grids would make displayed values disagree with filters, copies, and exports.

Expected condition​

Use fixed UTC with an explicit offset for Delta History. Preserve Trino's typed values elsewhere and leave plain timestamps unchanged. Introduce a user timezone only together with explicit query/session, filtering, copy, export, sorting, and persistence semantics.

Cause and evidence​

  • The current selection is volatile React state.
  • Changing it does not alter the request or Trino session.
  • Plain TIMESTAMP has no timezone that can be safely converted as an instant.

Why it matters​

Users can construct predicates from displayed values that the engine interprets differently, especially around daylight-saving boundaries.

Existing controls and workarounds​

Use UTC with an explicit offset for History and do not infer SQL predicate semantics from Local display.

Alternatives considered​

  1. Recommended interim: fixed UTC History and typed values elsewhere.
  2. One persisted display timezone plus original-value details — only after filter/copy/export semantics are designed.
  3. Independent per-grid selectors — rejected as redundant, volatile, and inconsistent.

Component involvement​

  • Product defines temporal semantics.
  • Oqullus renders types and zones consistently.
  • BFF/Trino integration carries explicit session semantics if configurable query timezone is introduced.

Reproduction and verification​

Follow CAT-S023. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.

Resolution conditions​

Close when displayed, filtered, sorted, copied, exported, and queried temporal values have one documented type-aware contract and survive navigation as intended.

Validation and blockers​

Oqullus, BFF/Trino, product, and data owners must validate around offset and DST fixtures.