Commit graph

94 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
Evgenii Burmakin
8934c29fce
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>
2025-12-06 20:54:49 +01:00
Evgenii Burmakin
b1393ee674
0.36.0 (#1952)
* Implement OmniAuth GitHub authentication

* Fix omniauth GitHub scope to include user email access

* Remove margin-bottom

* Implement Google OAuth2 authentication

* Implement OIDC authentication for Dawarich using omniauth_openid_connect gem.

* Add patreon account linking and patron checking service

* Update docker-compose.yml to use boolean values instead of strings

* Add support for KML files

* Add tests

* Update changelog

* Remove patreon OAuth integration

* Move omniauthable to a concern

* Update an icon in integrations

* Update changelog

* Update app version

* Fix family location sharing toggle

* Move family location sharing to its own controller

* Update changelog

* Implement basic tagging functionality for places, allowing users to categorize and label places with custom tags.

* Add places management API and tags feature

* Add some changes related to places management feature

* Fix some tests

* Fix sometests

* Add places layer

* Update places layer to use Leaflet.Control.Layers.Tree for hierarchical layer control

* Rework tag form

* Add hashtag

* Add privacy zones to tags

* Add notes to places and manage place tags

* Update changelog

* Update e2e tests

* Extract tag serializer to its own file

* Fix some tests

* Fix tags request specs

* Fix some tests

* Fix rest of the tests

* Revert some changes

* Add missing specs

* Revert changes in place export/import code

* Fix some specs

* Fix PlaceFinder to only consider global places when finding existing places

* Fix few more specs

* Fix visits creator spec

* Fix last tests

* Update place creating modal

* Add home location based on "Home" tagged place

* Save enabled tag layers

* Some fixes

* Fix bug where enabling place tag layers would trigger saving enabled layers, overwriting with incomplete data

* Update migration to use disable_ddl_transaction! and add up/down methods

* Fix tag layers restoration and filtering logic

* Update OIDC auto-registration and email/password registration settings

* Fix potential xss
2025-11-24 19:45:09 +01:00
Eugene Burmakin
6787273713 Updte map view 2025-10-30 19:16:38 +01:00
Eugene Burmakin
db8d886ee2 Use ids instead of uuids for primary keys in family tables 2025-09-30 18:43:26 +02:00
Eugene Burmakin
698198db4b Update navbar for better responsiveness 2025-09-30 00:45:09 +02:00
Eugene Burmakin
1f67e889e3 Complete phase 5 2025-09-28 13:10:07 +02:00
Eugene Burmakin
0d02f08199 Add implementation plan and complete phase 1 2025-09-27 00:46:29 +02:00
Eugene Burmakin
584daadb5c Fix failing specs 2025-09-19 19:55:27 +02:00
Eugene Burmakin
2bd0390d1a Rename hexagon_centers to h3_hex_ids and update related logic 2025-09-19 00:23:12 +02:00
Eugene Burmakin
6314442770 Calculate only centers of hexagons 2025-09-14 12:41:16 +02:00
Eugene Burmakin
a2aa1be271 Precalculate hexagons for stats 2025-09-13 23:11:42 +02:00
Eugene Burmakin
fc068ec79d Add Lucide icons and stats sharing 2025-09-11 20:41:43 +02:00
Eugene Burmakin
b8d69a6797 Reset counters for points counter cache 2025-08-26 15:26:05 +02:00
Evgenii Burmakin
02e6fb8a85
Merge branch 'dev' into feature/points-counter-cache 2025-08-26 15:09:48 +02:00
Eugene Burmakin
edb9287bcf Fix schema 2025-08-23 16:13:52 +02:00
Eugene Burmakin
b049c11542 Fix import detection 2025-08-23 16:07:15 +02:00
Eugene Burmakin
6e4934a93d Introduce points counter cache to optimize performance 2025-08-21 22:32:29 +02:00
Eugene Burmakin
f492a69fbb Add country_name to points and fix some bugs. 2025-07-28 18:53:19 +02:00
Eugene Burmakin
88e3f53cc5 Remove old code 2025-07-23 19:48:39 +02:00
Eugene Burmakin
5a4a5e9625 Add composite index for track generation 2025-07-23 19:30:56 +02:00
Eugene Burmakin
c18b09181e Add index on places geodata osm id 2025-07-21 22:45:57 +02:00
Eugene Burmakin
1468f1f9dc Remove tracks api endpoint 2025-07-04 20:09:06 +02:00
Eugene Burmakin
862f601e1d Add tracks calculation and storage in the database 2025-07-03 20:18:18 +02:00
Eugene Burmakin
d518603719 Update importing process 2025-07-02 20:22:40 +02:00
Eugene Burmakin
8ad0b20d3d Add import data feature 2025-06-28 12:22:56 +02:00
Eugene Burmakin
7988fadd5f User export: exporting exports and imports data with files 2025-06-25 21:14:33 +02:00
Eugene Burmakin
c681fdbdb6 Update visited_countries column type to jsonb 2025-05-16 21:29:07 +02:00
Eugene Burmakin
5be5c1e584 Put countries into database 2025-05-16 18:51:48 +02:00
Eugene Burmakin
79f2522f54 Fetch countries for a trip via geocoding service 2025-05-13 19:43:02 +02:00
Eugene Burmakin
600c88ae01 Merge remote-tracking branch 'origin/dev' into feature/subscription 2025-04-04 21:28:13 +02:00
Eugene Burmakin
2f41b0dd57 Add active_until to users 2025-04-04 20:27:46 +02:00
Eugene Burmakin
99bb982792 Merge from dev 2025-04-04 20:14:44 +02:00
Eugene Burmakin
2f9cacba61 Rename format column to file_format in exports table 2025-04-02 21:19:02 +02:00
Eugene Burmakin
fc8d0d8ddc Fix failing tests and move testing imports to files 2025-03-24 20:46:16 +01:00
Eugene Burmakin
dbd9b7f31f Add rake tasks for data cleanup and user activation 2025-03-21 18:09:58 +01:00
Eugene Burmakin
eb13be21f3 Remove false unique index 2025-03-16 13:47:07 +01:00
Eugene Burmakin
29da64400b Update changelog and fix visits pane z-index 2025-03-16 13:36:06 +01:00
Eugene Burmakin
b8e6b1a372 Enable visit suggesting job 2025-03-09 20:07:39 +01:00
Eugene Burmakin
c2f6224421 Add lonlat to places 2025-03-03 20:50:49 +01:00
Eugene Burmakin
173af225d7 Merge remote-tracking branch 'origin/dev' into feature/user-features-access 2025-02-24 21:40:36 +01:00
Eugene Burmakin
217d6249e2 Use lonlat in maps controller 2025-02-23 22:59:14 +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
6fac14675b Restrict to some functionality access for inactive users 2025-02-19 21:23:11 +01:00
Eugene Burmakin
8a309a2186 Remove tracks 2025-01-29 12:18:03 +01:00
Eugene Burmakin
7db7fb17d5 Add path to trips 2025-01-24 12:01:54 +01:00
Eugene Burmakin
774de9991b Add tracks model 2025-01-23 16:03:21 +01:00
Eugene Burmakin
63b92f695f Enable Postgis extension for PostgreSQL 2025-01-23 15:53:32 +01:00
Eugene Burmakin
be779fe333 Merge remote-tracking branch 'origin/dev' into chore/database-user-constraints 2025-01-22 15:03:55 +01:00
Eugene Burmakin
4c6baad5d4 Rename unique index on points to unique_points_lat_long_timestamp_user_id_index 2025-01-21 13:33:46 +01:00