Skip to content

1.0.2-2 - #2208

Merged
Freika merged 119 commits into
masterfrom
dev
Jan 31, 2026
Merged

1.0.2-2#2208
Freika merged 119 commits into
masterfrom
dev

Conversation

@Freika

@Freika Freika commented Jan 31, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Bug Fixes

    • Fixed an issue where duplicate place records could be created during data processing, ensuring only unique records are stored.
  • Tests

    • Updated end-to-end tests for map interactions, layer visibility, and real-time mode to improve test reliability and consistency.

✏️ Tip: You can customize this high-level summary in your review settings.

rtuszik and others added 30 commits November 25, 2025 20:30
#1980)

* Update exporting code to stream points data to file in batches to reduce memory usage

* Update changelog
* Add a plan to use MapLibre GL JS for the frontend map rendering, replacing Leaflet

* Implement phase 1

* Phases 1-3 + part of 4

* Fix e2e tests

* Phase 6

* Implement fog of war

* Phase 7

* Next step: fix specs, phase 7 done

* Use our own map tiles

* Extract v2 map logic to separate manager classes

* Update settings panel on v2 map

* Update v2 e2e tests structure

* Reimplement location search in maps v2

* Update speed routes

* Implement visits and places creation in v2

* Fix last failing test

* Implement visits merging

* Fix a routes e2e test and simplify the routes layer styling.

* Extract js to modules from maps_v2_controller.js

* Implement area creation

* Fix spec problem

* Fix some e2e tests

* Implement live mode in v2 map

* Update icons and panel

* Extract some styles

* Remove unused file

* Start adding dark theme to popups on MapLibre maps

* Make popups respect dark theme

* Move v2 maps to maplibre namespace

* Update v2 references to maplibre

* Put place, area and visit info into side panel

* Update API to use safe settings config method

* Fix specs

* Fix method name to config in SafeSettings and update usages accordingly

* Add missing public files

* Add handling for real time points

* Fix remembering enabled/disabled layers of the v2 map

* Fix lots of e2e tests

* Add settings to select map version

* Use maps/v2 as main path for MapLibre maps

* Update routing

* Update live mode
* 0.36.2 (#2007)

* fix: move foreman to global gems to fix startup crash (#1971)

* Update exporting code to stream points data to file in batches to red… (#1980)

* Update exporting code to stream points data to file in batches to reduce memory usage

* Update changelog

* Update changelog

* Feature/maplibre frontend (#1953)

* Add a plan to use MapLibre GL JS for the frontend map rendering, replacing Leaflet

* Implement phase 1

* Phases 1-3 + part of 4

* Fix e2e tests

* Phase 6

* Implement fog of war

* Phase 7

* Next step: fix specs, phase 7 done

* Use our own map tiles

* Extract v2 map logic to separate manager classes

* Update settings panel on v2 map

* Update v2 e2e tests structure

* Reimplement location search in maps v2

* Update speed routes

* Implement visits and places creation in v2

* Fix last failing test

* Implement visits merging

* Fix a routes e2e test and simplify the routes layer styling.

* Extract js to modules from maps_v2_controller.js

* Implement area creation

* Fix spec problem

* Fix some e2e tests

* Implement live mode in v2 map

* Update icons and panel

* Extract some styles

* Remove unused file

* Start adding dark theme to popups on MapLibre maps

* Make popups respect dark theme

* Move v2 maps to maplibre namespace

* Update v2 references to maplibre

* Put place, area and visit info into side panel

* Update API to use safe settings config method

* Fix specs

* Fix method name to config in SafeSettings and update usages accordingly

* Add missing public files

* Add handling for real time points

* Fix remembering enabled/disabled layers of the v2 map

* Fix lots of e2e tests

* Add settings to select map version

* Use maps/v2 as main path for MapLibre maps

* Update routing

* Update live mode

* Update maplibre controller

* Update changelog

* Remove some console.log statements

---------

Co-authored-by: Robin Tuszik <mail@robin.gg>

* Remove esbuild scripts from package.json

* Remove sideEffects field from package.json

* Raw data archivation

* Add tests

* Fix tests

* Fix tests

* Update ExceptionReporter

* Add schedule to run raw data archival job monthly

* Change file structure for raw data archival feature

* Update changelog and version for raw data archival feature

---------

Co-authored-by: Robin Tuszik <mail@robin.gg>
* Consider MIN_MINUTES_SPENT_IN_CITY during stats calculation

* Remove raw data from visited cities api endpoint
* Use user timezone to show dates on maps

* Limit timestamps to valid range to prevent database errors when users enter pre-epoch dates.

* Limit timestamps to valid range to prevent database errors when users enter pre-epoch dates.

* Fix tests failing due to new index on stats table

* Fix failing specs
* Fix kml kmz import issues

* Refactor KML importer to improve readability and maintainability
#2027)

* Implement moving points in map v2 and fix route rendering logic to match map v1.

* Fix route spec
* Add verification step to raw data archival process

* Add actual verification of raw data archives after creation, and only clear raw_data for verified archives.

* Fix failing specs
Freika and others added 24 commits January 14, 2026 00:19
* Address number of photos related issues

* Fix minor stuff

* Update integrations page layout
* Address a number of github issues

* Update changelog
* Update stuff

* Extract insights controller logic to services

* Fix failing specs

* Refactorings

* Add indicies with if_not_exists to migrations

* Recalculate tracks transportation modes upon settings change

* Block transportation modes settings form while a recalculation is in progress.

* Add top visited locations

* Bit of a refactoring

* Update navbar

* Add activity heatmap feature and update insights header

* Add activity streak to insights page and changelog

* Add caching for insights page

* Preheat cache for insights

* Move digest cache preheating to a service
* Generate tracks faster

* Remove supporter verification code

* Recalculate track segments after merging tracks.

* Add couple specs
* Add general settings tab

* Update changelog
* Update

* Implement supporter verification feature

* Cache supporter verification results to improve performance

* Remove initializer

* Update verify service

* Add supporter badge

* Move verification form

* Move settings update logic to a service object and adjust routes and views accordingly.

* Disable caching for supporter verification

* Reintroduce caching for supporter verification results
@coderabbitai

coderabbitai Bot commented Jan 31, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR includes a changelog entry for a bug fix, updates a Sidekiq queue configuration, adds deduplication logic to a reverse geocoding service, and refactors multiple end-to-end tests to replace UI-based or server-broadcast-based interactions with programmatic direct API calls to map controllers and Stimulus controllers.

Changes

Cohort / File(s) Summary
Metadata & Configuration
CHANGELOG.md, config/schedule.yml
Documentation update for a fixed issue and queue name change for a Sidekiq job from "family" to "families".
Service Logic
app/services/reverse_geocoding/places/fetch_data.rb
Added deduplication by id in save_places before upserting to prevent duplicate records during updates.
Map Interaction Tests
e2e/v2/map/interactions.spec.js, e2e/v2/map/layers/points.spec.js
Refactored tests to use programmatic map APIs (jumpTo, canvas center clicks) instead of projection-based pixel coordinates; replaced UI-driven layer visibility toggling with direct map layer API calls and added persistence verification after drag operations.
Real-time Mode Tests
e2e/v2/realtime/live-mode-api.spec.js, e2e/v2/realtime/live-mode.spec.js
Replaced ActionCable-based synchronization and server-side broadcasts with direct Stimulus controller interaction; tests now invoke handleNewPoint directly and inspect controller state for real-time point visibility.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

  • 0.30.7 #1600: Both PRs modify how live-map tests interact with the Stimulus maps controller, including handleNewPoint invocation and layerManager inspection for real-time point handling.

Poem

🐰 Canvas clicks and layer views,
No more broadcasts, APIs new!
Dedup places, queues are set,
Tests run direct—no UI bet!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Freika
Freika merged commit 82ad94f into master Jan 31, 2026
6 of 8 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Mar 12, 2026
@coderabbitai coderabbitai Bot mentioned this pull request May 2, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Jul 25, 2026
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