From: ThibG Date: Fri, 11 May 2018 11:20:58 +0000 (+0200) Subject: Update session activation time (fixes #5605) (#7408) X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=352bae8c3ef2aca41de4aacb85d5e036a1d2bace;p=mastodon.git Update session activation time (fixes #5605) (#7408) --- diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 588526447..5b22f17c6 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,6 +9,7 @@ class ApplicationController < ActionController::Base include Localized include UserTrackingConcern + include SessionTrackingConcern helper_method :current_account helper_method :current_session diff --git a/app/controllers/concerns/session_tracking_concern.rb b/app/controllers/concerns/session_tracking_concern.rb new file mode 100644 index 000000000..45361b019 --- /dev/null +++ b/app/controllers/concerns/session_tracking_concern.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module SessionTrackingConcern + extend ActiveSupport::Concern + + UPDATE_SIGN_IN_HOURS = 24 + + included do + before_action :set_session_activity + end + + private + + def set_session_activity + return unless session_needs_update? + current_session.touch + end + + def session_needs_update? + !current_session.nil? && current_session.updated_at < UPDATE_SIGN_IN_HOURS.hours.ago + end +end