Commit graph

58 commits

Author SHA1 Message Date
Evgenii Burmakin
c8242ce902
0.36.3 (#2013)
* 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

* Pull only necessary data for map v2 points

* Feature/raw data archive (#2009)

* 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>

* Set raw_data to an empty hash instead of nil when archiving

* Fix storage configuration and file extraction

* Consider MIN_MINUTES_SPENT_IN_CITY during stats calculation (#2018)

* 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 (#2020)

* Fix/pre epoch time (#2019)

* 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

* Update redis client configuration to support unix socket connection

* Update changelog

* Fix kml kmz import issues (#2023)

* Fix kml kmz import issues

* Refactor KML importer to improve readability and maintainability

* Implement moving points in map v2 and fix route rendering logic to ma… (#2027)

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

* Fix route spec

* fix(maplibre): update date format to ISO 8601 (#2029)

* Add verification step to raw data archival process (#2028)

* 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

* Eliminate zip-bomb risk

* Fix potential memory leak in js

* Return .keep files

* Use Toast instead of alert for notifications

* Add help section to navbar dropdown

* Update changelog

* Remove raw_data_archival_job

* Ensure file is being closed properly after reading in Archivable concern

---------

Co-authored-by: Robin Tuszik <mail@robin.gg>
2025-12-14 12:05:59 +01:00
Eugene Burmakin
39c3c157c8 Implement real-time family member location updates via ActionCable 2025-10-13 14:10:36 +02:00
Eugene Burmakin
410cd86c4e Implement a new daily track generation job to replace the old cleanup job. 2025-09-08 20:46:30 +02:00
Eugene Burmakin
6e4934a93d Introduce points counter cache to optimize performance 2025-08-21 22:32:29 +02:00
Eugene Burmakin
6870be2045 Fix country name in points 2025-07-29 21:17:33 +02:00
Eugene Burmakin
f492a69fbb Add country_name to points and fix some bugs. 2025-07-28 18:53:19 +02:00
Eugene Burmakin
fb4eedfe92 Add battery statuses. 2025-07-27 21:38:51 +02:00
Eugene Burmakin
b2d8f85d35 Implement Basecamp GPX import 2025-07-26 13:32:13 +02:00
Eugene Burmakin
e127511262 Fix live map checkbox 2025-07-26 13:06:06 +02:00
Eugene Burmakin
0bfddd932f Disable specs for track generation 2025-07-22 20:28:46 +02:00
Eugene Burmakin
7c8a7e7f38 Temporary disable track creation 2025-07-22 20:25:44 +02:00
Eugene Burmakin
f969d5d3e6 Clean up some mess 2025-07-20 18:57:53 +02:00
Eugene Burmakin
c31d09e5c3 Refactor tracks jobs and services 2025-07-16 22:22:33 +02:00
Eugene Burmakin
0dff80e12b Fix some tests 2025-07-12 13:43:15 +02:00
Eugene Burmakin
0295d3f2a0 Fix year page charts 2025-07-08 21:23:55 +02:00
Eugene Burmakin
f1720b859b Store distance in meters in the database and convert to user's preferred unit on the fly. 2025-07-08 18:10:10 +02:00
Eugene Burmakin
e64e706b0f Unify timestamps 2025-07-07 23:38:10 +02:00
Eugene Burmakin
a66f41d9fb Add documentation 2025-07-07 23:12:02 +02:00
Eugene Burmakin
0d657b9d6e Add incremental track generation 2025-07-07 21:48:07 +02:00
Eugene Burmakin
565f92c463 Add tracks to map 2025-07-04 19:49:56 +02:00
Eugene Burmakin
862f601e1d Add tracks calculation and storage in the database 2025-07-03 20:18:18 +02:00
Eugene Burmakin
aeac8262df Update importing process 2025-06-29 11:49:44 +02:00
Eugene Burmakin
8ad0b20d3d Add import data feature 2025-06-28 12:22:56 +02:00
Eugene Burmakin
36e426433e Extract exporting data to services 2025-06-25 22:23:43 +02:00
Eugene Burmakin
5be5c1e584 Put countries into database 2025-05-16 18:51:48 +02:00
Eugene Burmakin
ed7b6d6d24 Add a STORE_GEODATA environment variable to control whether to store geodata in the database. 2025-05-12 22:33:47 +02:00
Eugene Burmakin
c786671d95 Refactor points creation to be synchronous 2025-05-03 22:40:44 +02:00
Eugene Burmakin
e433ed4d1c Use secure file downloader for imports 2025-04-23 23:27:55 +02:00
Eugene Burmakin
73edb35bb1 Implement Records.json import via the UI 2025-04-03 18:41:05 +02:00
Eugene Burmakin
b8e6b1a372 Enable visit suggesting job 2025-03-09 20:07:39 +01:00
Eugene Burmakin
383b88ab04 Speed up some importing processes 2025-02-22 23:14:23 +01:00
Eugene Burmakin
fc01cda5c6 Fix whole bunch of specs 2025-02-22 00:32:30 +01:00
Eugene Burmakin
d9eac91834 Introduce latlon to Points and use it instead of latitude and longitude. 2025-02-21 23:45:36 +01:00
Eugene Burmakin
6644fc9a13 Introduce uniqueness index and validation for points 2025-01-20 17:59:13 +01:00
Eugene Burmakin
974f45a4c9 Remove REVERSE_GEOCODING_ENABLED env var 2025-01-07 13:41:09 +01:00
Eugene Burmakin
1e9f539dac Revert "Imported points will now be reverse geocoded only after import is finished." 2025-01-04 21:31:21 +01:00
Eugene Burmakin
0276882db1 Start reverse geocoding after import is finished 2024-12-25 12:38:32 +01:00
Eugene Burmakin
9eea936782 Introduce reverse_geocoded_at to points 2024-12-02 14:44:22 +01:00
Eugene Burmakin
9c99a835de Implement live map updates with WebSockets 2024-11-03 16:48:43 +01:00
Eugene Burmakin
0038f72155 Update gems and ruby version 2024-09-05 21:01:59 +02:00
Eugene Burmakin
f9750133df Merge remote-tracking branch 'origin/master' into visit_detection 2024-08-25 19:31:19 +02:00
Eugene Burmakin
3336ac9864 Add counter cache for imports 2024-08-22 22:40:27 +02:00
Eugene Burmakin
7ed7f9795b Add stats API endpoint and serializer 2024-08-20 20:14:17 +02:00
Eugene Burmakin
52ee90ac9c Replace google places api with photon api by komoot 2024-08-13 18:25:48 +02:00
Eugene Burmakin
5394e9dd52 Add visits detection 2024-08-05 21:23:08 +02:00
Eugene Burmakin
3fd176ad6e Add Visit model and associations 2024-07-21 20:32:29 +02:00
Eugene Burmakin
f080b4c6ce Add tests for background jobs stuff 2024-07-12 21:59:03 +02:00
Eugene Burmakin
ac36a505dd Add reverse geocoding job to background jobs controller 2024-07-09 23:50:19 +02:00
Eugene Burmakin
08be01ebf6 Use Stat's toponyms to calculate the number of countries and cities visited in a month 2024-06-07 21:22:57 +02:00
Eugene Burmakin
082cbf159d Scope points to a user 2024-05-25 13:26:56 +02:00