From bf199de2a0d6acaf9da6d38c7e3fc171f8d28055 Mon Sep 17 00:00:00 2001 From: Eugene Burmakin Date: Wed, 23 Jul 2025 20:17:07 +0200 Subject: [PATCH] Fix non-selfhosted users export and import --- CHANGELOG.md | 1 + app/controllers/settings/users_controller.rb | 2 +- app/services/tracks/generator.rb | 7 +++---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cda4369e..2046bacf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## Fixed - Distance on the stats page is now rounded. #1548 +- Non-selfhosted users can now export and import their account data. # [0.30.2] - 2025-07-22 diff --git a/app/controllers/settings/users_controller.rb b/app/controllers/settings/users_controller.rb index d8696617..e114daa7 100644 --- a/app/controllers/settings/users_controller.rb +++ b/app/controllers/settings/users_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Settings::UsersController < ApplicationController - before_action :authenticate_self_hosted! + before_action :authenticate_self_hosted!, only: [:export, :import] before_action :authenticate_admin!, except: [:export, :import] before_action :authenticate_user!, only: [:export, :import] diff --git a/app/services/tracks/generator.rb b/app/services/tracks/generator.rb index 62a4fab3..f4cbb7bf 100644 --- a/app/services/tracks/generator.rb +++ b/app/services/tracks/generator.rb @@ -57,12 +57,12 @@ class Tracks::Generator tracks_created = 0 - segments.each do |segment_data| - track = create_track_from_segment(segment_data) + segments.each do |segment| + track = create_track_from_segment(segment) tracks_created += 1 if track end - Rails.logger.info "Generated #{tracks_created} tracks for user #{user.id} in optimized #{mode} mode" + Rails.logger.info "Generated #{tracks_created} tracks for user #{user.id} in #{mode} mode" tracks_created end @@ -188,7 +188,6 @@ class Tracks::Generator if start_at && end_at [start_at.to_i, end_at.to_i] else - # Get full range for user first_point = user.tracked_points.order(:timestamp).first last_point = user.tracked_points.order(:timestamp).last