* 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>
It seems like all HTTP headers are string, while other types may work, its more safe to convert the types to strings to ensure no trouble is caused by non string types. Even if it does work, at least now the types are consistent, as headers are being put as string and they are also retrieved as string.