Skip to content

Commit 082f4a0

Browse files
authored
Merge pull request #2268 from Freika/feature/timeline
Feature/timeline
2 parents 0acd705 + 4c343ce commit 082f4a0

File tree

54 files changed

+4100
-741
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+4100
-741
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,34 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
66

77
## [1.3.0] - Unreleased
88

9+
The Storage & Timeline Interaction Release
10+
11+
This release adds a dedicated `motion_data` column for transportation-relevant fields alongside the existing `raw_data`. Users can now set their timezone for accurate date/time display across the app. The Timeline feed in Map v2 gains richer map interaction: hovering a journey highlights its track with an animated border, clicking zooms to fit and selects it, and expanding a day shows visit markers even when the Visits layer is off.
12+
913
### Added
1014

1115
- Per-user timezone setting. Users can now select their timezone from Settings > General, and all dates/times across the app (including background jobs and API responses) will respect it. Defaults to the server's `TIME_ZONE` environment variable for existing users.
1216
- `motion_data` JSONB column on the `points` table for storing transportation-relevant fields separately from `raw_data`.
1317
- Background job (`DataMigrations::BackfillMotionDataJob`) to backfill `motion_data` from `raw_data` for existing points.
18+
- New Timeline feed in Map v2 Tools panel for browsing daily location history. Distances and speeds respect the user's distance unit preference (km/mi).
19+
- Clicking a track point (when "Show Points" is enabled) now displays point info (timestamp, battery, altitude, speed) in the track info panel instead of triggering a position update. Dragging a point still updates its position and triggers track recalculation.
20+
- Timeline-map interaction: hovering a journey entry in the Timeline feed now highlights the matching track on the map with the animated border and flow effect. Clicking a journey entry zooms the map to fit the track and keeps it selected. Expanding a day in the Timeline now temporarily shows visit markers for that day, even if the Visits layer is disabled.
21+
- AES-256-GCM encryption for raw data archives (format version 2). Set `ARCHIVE_ENCRYPTION_KEY` to use a custom key; otherwise derives from `SECRET_KEY_BASE`. Existing unencrypted archives (format version 1) are read transparently.
1422

1523
### Changed
1624

1725
- Transportation-relevant fields (motion, activity, action) are now stored in a dedicated `motion_data` column alongside `raw_data`, enabling efficient transportation mode detection.
1826
- All import sources now write both `raw_data` (full original payload) and `motion_data` (transportation-relevant fields).
1927
- The `STORE_GEODATA` setting now correctly controls whether geodata is written during reverse geocoding.
2028
- Dropped unused `idx_points_user_city` database index (304 MB) and replaced the full `reverse_geocoded_at` index (1,149 MB) with a smaller partial index covering only un-geocoded rows.
29+
- Selecting a track on Map v2 now always dims other tracks, regardless of whether the track has transportation mode segments.
30+
- Default map layers for new users changed from Routes + Heatmap to Tracks + Heatmap. Existing users' settings are unaffected.
31+
- Renamed the bottom-panel "Timeline" feature to "Replay" to avoid naming collision with the new Timeline feed sidebar.
32+
33+
### Fixed
34+
35+
- Stats queries (daily distance, time of day) now correctly handle timezone conversion without double-converting from UTC.
36+
- Timezone validation in stats queries now properly resolves Rails timezone names to IANA identifiers.
2137

2238

2339
## [1.2.0] - 2026-02-15

app/assets/builds/tailwind.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/assets/stylesheets/application.tailwind.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
*/
1515
@import "actiontext.css";
1616
@import "leaflet_theme.css";
17-
@import "maps_maplibre_timeline.css";
17+
@import "maps_maplibre_replay.css";
18+
@import "maps_maplibre_timeline_feed.css";
1819

1920
@layer components {
2021
.fade-out {

0 commit comments

Comments
 (0)