diff --git a/app/models/sync.rb b/app/models/sync.rb index 7baf9e63..ea66ebb4 100644 --- a/app/models/sync.rb +++ b/app/models/sync.rb @@ -19,6 +19,8 @@ class Sync < ApplicationRecord scope :incomplete, -> { where("syncs.status IN (?)", %w[pending syncing]) } scope :visible, -> { incomplete.where("syncs.created_at > ?", VISIBLE_FOR.ago) } + after_commit :update_family_sync_timestamp + validate :window_valid # Sync state machine @@ -169,7 +171,6 @@ class Sync < ApplicationRecord def handle_transition log_status_change - family.touch(:latest_sync_activity_at) end def handle_completion_transition @@ -182,6 +183,10 @@ class Sync < ApplicationRecord end end + def update_family_sync_timestamp + family.touch(:latest_sync_activity_at) + end + def family if syncable.is_a?(Family) syncable