github / github/github-ds

expires_at is stored as a database datetime column

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
700
Forks
29
PR merge metrics
No merged PRs in 30d

Description

### Context
During the DST to standard time change, when the SQL server is running in a local time zone, records cannot be found when `expires_at` is set to 1 hour.

Given a PST time and a fallback to standard time at 2 AM, 1 hour from 1 AM, is going to be still 1 AM. The date s converted to the same date that was entered and few seconds after the record cannot be found again.

The `expires_at` column should be timezone agnostic, possible solution would be to store it as an integer (epoch time),

Contributor guide

Open the contributing guide

Research direction

Start at the model or schema definition for expires_at and ActiveRecord's datetime conversion, then reproduce the DST fallback with the SQL server in a local timezone. Done means expiration remains findable across the fallback, with timezone-agnostic storage and regression coverage agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rails, ruby
Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.