From 09ed5ee20bb409e545ca4e15f2da4664982b608d Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sun, 29 Mar 2026 17:31:50 +0300 Subject: [PATCH 1/5] Bump devise to 5.0.3 in Gemfile.lock Update Gemfile.lock to reflect devise 5.0.3 and new railties >= 7.0 requirement. --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e7ce5c8f7..ff01074d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -316,10 +316,10 @@ GEM delayed_job_active_record (4.1.11) activerecord (>= 3.0, < 9.0) delayed_job (>= 3.0, < 5) - devise (4.9.4) + devise (5.0.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) - railties (>= 4.1.0) + railties (>= 7.0) responders warden (~> 1.2.3) diff-lcs (1.4.4) From b2abe8e581b1f333d6921ad33a233a49227cd819 Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sun, 29 Mar 2026 17:33:14 +0300 Subject: [PATCH 2/5] Bump activeadmin to 3.5.1 in Gemfile.lock Update Gemfile.lock to reflect activeadmin 3.5.1. --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ff01074d8..8f9bbc214 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -159,7 +159,7 @@ GEM active_record_extended (3.3.0) activerecord (>= 5.2, < 8.0.0) pg (< 3.0) - activeadmin (3.2.2) + activeadmin (3.5.1) arbre (~> 1.2, >= 1.2.1) csv formtastic (>= 3.1) From a35f7db56e3bbb8319fb0ed42beb1206957d8286 Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Mon, 30 Mar 2026 02:01:11 +0300 Subject: [PATCH 3/5] bump active_admin_scoped_collection_actions gem to v2.0.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8f9bbc214..4aae978ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -151,8 +151,8 @@ GEM activerecord-import (>= 0.27) rchardet (>= 1.6) rubyzip (>= 1.2) - active_admin_scoped_collection_actions (1.0.1) - activeadmin (>= 1.1, < 4.0) + active_admin_scoped_collection_actions (2.0.0) + activeadmin (>= 3.0, < 4.0) active_admin_sidebar (1.1.0) activeadmin active_admin_theme (1.1.2) From 5c0f0985272b43db456ad3d5dfcc8830da501a0a Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Tue, 31 Mar 2026 01:31:54 +0300 Subject: [PATCH 4/5] update spec to align changes (device is updated its view) --- spec/features/sign_in_feature_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/features/sign_in_feature_spec.rb b/spec/features/sign_in_feature_spec.rb index fa34906f7..58b1734be 100644 --- a/spec/features/sign_in_feature_spec.rb +++ b/spec/features/sign_in_feature_spec.rb @@ -50,7 +50,7 @@ fill_in 'Password', with: admin_user_attrs[:password] end - include_examples :does_not_sign_in, 'Invalid Username or password.' + include_examples :does_not_sign_in, 'Invalid username or password.' end context 'when allowed_ips are filled with not match ip' do @@ -86,7 +86,7 @@ visit new_admin_user_session_path end - it 'should render dashboard page without any content' do + it 'should render dashboard page without any content', :js do fill_form! click_button 'Login' expect(page).to have_selector('small', text: 'You have limited access to dashboard content.') From 642de4620c22ad80b4b7a0ee6ba49f1537d3b169 Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Tue, 31 Mar 2026 12:19:29 +0300 Subject: [PATCH 5/5] use login_as admin_user instead of manually fill in form to verify the session expiration. --- spec/features/sign_in_feature_spec.rb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/spec/features/sign_in_feature_spec.rb b/spec/features/sign_in_feature_spec.rb index 58b1734be..437dfd18b 100644 --- a/spec/features/sign_in_feature_spec.rb +++ b/spec/features/sign_in_feature_spec.rb @@ -113,11 +113,9 @@ it 'create session and then after 61 seconds of inactivity session should be removed' do expect(YetiConfig.admin_ui.session_lifetime).to eq(60), error_message - visit new_admin_user_session_path - fill_form! - click_button 'Login' + login_as admin_user, scope: :admin_user + visit root_path expect(page).to have_current_path root_path - expect(page).to have_flash_message 'Signed in successfully.', type: :notice travel_to((YetiConfig.admin_ui.session_lifetime + 1).seconds.from_now) do visit root_path expect(page).to have_current_path new_admin_user_session_path @@ -127,9 +125,8 @@ it 'after 55 seconds of inactivity session stilla alive' do expect(YetiConfig.admin_ui.session_lifetime).to eq(60), error_message - visit new_admin_user_session_path - fill_form! - click_button 'Login' + login_as admin_user, scope: :admin_user + visit root_path expect(page).to have_current_path root_path travel_to(55.seconds.from_now) do visit root_path