Skip to content

Conversation

@haoruizhou
Copy link
Collaborator

No description provided.

Added nginx configuration to proxy /api requests to the FastAPI backend, enabling seamless API access from the frontend. Updated frontend API base logic to prefer relative paths when not running on localhost, improving compatibility for deployments on VPS and other hosts. Updated documentation to reflect these changes. Also updated .gitignore to exclude .dbc files except for example.dbc.
Integrates Luxon for robust timezone handling in the data-download component. Input and output timestamps are now interpreted and formatted according to the selected run's timezone, improving accuracy for users in different locales. Updates UI to display the active timezone and ensures payloads use correct ISO strings.
@haoruizhou
Copy link
Collaborator Author

@codex

@chatgpt-codex-connector
Copy link

Summary

Testing

  • python -m compileall installer/data-downloader/backend

View task →

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 146 to 155
setSelectedRunKey(runKey);
const run = runs.find((r) => r.key === runKey);
if (run) {
setStartInput(formatInputValue(run.start_utc));
setEndInput(formatInputValue(run.end_utc));
const zone = normalizeZone(run.timezone);
setSelectedRunTimezone(zone);
setStartInput(formatInputValue(run.start_utc, zone));
setEndInput(formatInputValue(run.end_utc, zone));
} else {
setSelectedRunTimezone(null);
}

Choose a reason for hiding this comment

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

P1 Badge Preserve timestamps when clearing run selection

When a run is selected the inputs are formatted in that run’s timezone, but handleRunSelect only clears selectedRunTimezone when the user switches back to “Manual selection” and leaves startInput/endInput untouched. Later, handleFetch converts those strings using selectedRunTimezone (now null), which makes Luxon reinterpret them in the browser’s local timezone. If the run’s zone differs from the client zone, simply toggling the dropdown to manual shifts the query window by several hours before the user edits anything. Prior to this change the values were always stored in the client timezone, so the act of switching modes didn’t corrupt the timestamps. Please convert the existing inputs back to the local zone (or keep using the run zone) when clearing the selection so that manual mode reflects the same instants that were displayed.

Useful? React with 👍 / 👎.

When deselecting a run, input timestamps are now converted from the previously selected run's timezone to the local timezone, ensuring user-entered times remain consistent. This improves usability when toggling between run-based and manual time entry.
Added dynamic time zone labels and tooltips to the data download component. Time input fields now display the selected run's time zone or local system time, and chart hover tooltips show UTC-formatted timestamps for clarity.
@haoruizhou haoruizhou merged commit 0062b31 into main Nov 14, 2025
6 of 8 checks passed
haoruizhou added a commit that referenced this pull request Nov 14, 2025
* Proxy API requests via nginx and improve frontend API base handling

Added nginx configuration to proxy /api requests to the FastAPI backend, enabling seamless API access from the frontend. Updated frontend API base logic to prefer relative paths when not running on localhost, improving compatibility for deployments on VPS and other hosts. Updated documentation to reflect these changes. Also updated .gitignore to exclude .dbc files except for example.dbc.

* Add timezone support to data download component

Integrates Luxon for robust timezone handling in the data-download component. Input and output timestamps are now interpreted and formatted according to the selected run's timezone, improving accuracy for users in different locales. Updates UI to display the active timezone and ensures payloads use correct ISO strings.

* Preserve input times when switching run selection

When deselecting a run, input timestamps are now converted from the previously selected run's timezone to the local timezone, ensuring user-entered times remain consistent. This improves usability when toggling between run-based and manual time entry.

* Improve time zone handling in data download UI

Added dynamic time zone labels and tooltips to the data download component. Time input fields now display the selected run's time zone or local system time, and chart hover tooltips show UTC-formatted timestamps for clarity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants