Fix various off-by-one errors in statistics time ranges (#40193)

Co-authored-by: Shlee <github@shl.ee>
This commit is contained in:
Claire
2026-08-21 18:04:11 +02:00
co-authored by Shlee
parent f1f3dd8720
commit 3ccfbbe195
7 changed files with 12 additions and 6 deletions
@@ -12,7 +12,7 @@ module Admin
@pending_tags_count = pending_tags.async_count
@pending_users_count = User.pending.async_count
@system_checks = Admin::SystemCheck.perform(current_user)
@time_period = (29.days.ago.to_date...Time.now.utc.to_date)
@time_period = (29.days.ago.to_date..Time.now.utc.to_date)
end
private
@@ -13,7 +13,7 @@ class Admin::Instances::ModerationNotesController < Admin::BaseController
redirect_to admin_instance_path(@instance.domain, anchor: helpers.dom_id(@instance_moderation_note)), notice: I18n.t('admin.instances.moderation_notes.created_msg')
else
@instance_moderation_notes = @instance.moderation_notes.includes(:account).chronological
@time_period = (6.days.ago.to_date...Time.now.utc.to_date)
@time_period = (6.days.ago.to_date..Time.now.utc.to_date)
@action_logs = Admin::ActionLogFilter.new(target_domain: @instance.domain).results.limit(5)
render 'admin/instances/show'
@@ -17,7 +17,7 @@ module Admin
@instance_moderation_note = @instance.moderation_notes.new
@instance_moderation_notes = @instance.moderation_notes.includes(:account).chronological
@time_period = (6.days.ago.to_date...Time.now.utc.to_date)
@time_period = (6.days.ago.to_date..Time.now.utc.to_date)
@action_logs = Admin::ActionLogFilter.new(target_domain: @instance.domain).results.limit(LOGS_LIMIT)
end
+1 -1
View File
@@ -38,7 +38,7 @@ module Admin
end
def report_range
(PERIOD_DAYS.ago.to_date...Time.now.utc.to_date)
(PERIOD_DAYS.ago.to_date..Time.now.utc.to_date)
end
def tag_params
+1 -1
View File
@@ -39,7 +39,7 @@ class ActivityTracker
end
def sum(start_at, end_at = Time.now.utc)
keys = (start_at.to_date...end_at.to_date).flat_map { |date| [key_at(date.to_time(:utc)), legacy_key_at(date)] }.uniq
keys = (start_at.to_date..end_at.to_date).flat_map { |date| [key_at(date.to_time(:utc)), legacy_key_at(date)] }.uniq
case @type
when :basic
@@ -97,7 +97,7 @@ class Admin::Metrics::Measure::BaseMeasure
end
def previous_time_period
((@start_at.to_date - length_of_period)..(@end_at.to_date - length_of_period))
((@start_at.to_date - (length_of_period + 1))..(@end_at.to_date - (length_of_period + 1)))
end
def length_of_period