From 1f30139c38762348e0a83598be1e2903ba8c5c86 Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Wed, 29 Apr 2026 23:51:34 -0500 Subject: [PATCH 1/3] Build cucumber scenario for the recent bookmarks order --- features/users/user_dashboard.feature | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/features/users/user_dashboard.feature b/features/users/user_dashboard.feature index 4fc97ee344f..1ac3212d257 100644 --- a/features/users/user_dashboard.feature +++ b/features/users/user_dashboard.feature @@ -304,3 +304,27 @@ Feature: User dashboard Then I should see "Here are some tips to help you get started" within "#modal" And I should see "First login help" within "#modal" And I should see "Close" within "#modal" + + Scenario: The user dashboard should list the user's most recently created bookmarks + Given dashboard counts expire after 10 seconds + And I am logged in as "fruitpie" + And I post the works "Work One, Work Two, Work Three, Work Four, Work Five, Work Six" + When I am logged in as "meatloaf" + And I bookmark the works "Work One, Work Two, Work Three, Work Four, Work Five, Work Six" + When I go to meatloaf's user page + Then I should see "Recent bookmarks" + And I should not see "Work One" within "#user-bookmarks" + And I should see "Work Six" within "#user-bookmarks" + When I edit the bookmark for "Work One" + And I check "bookmark_rec" + And I press "Update" + When I go to meatloaf's user page + Then I should see "Recent bookmarks" + And I should not see "Work One" within "#user-bookmarks" + And I should see "Work Six" within "#user-bookmarks" + When I am on meatloaf's pseuds page + And I follow "meatloaf" within "ul.pseud.index" + Then I should be on the dashboard page for user "meatloaf" with pseud "meatloaf" + And I should see "Recent bookmarks" + And I should not see "Work One" within "#user-bookmarks" + And I should see "Work Six" within "#user-bookmarks" From 99ffabb620dd63f89b5efe8dd00e7813430dbfeb Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Wed, 29 Apr 2026 23:58:07 -0500 Subject: [PATCH 2/3] Change bookmark sorting on user and pseud dashboards to use created_at --- app/controllers/pseuds_controller.rb | 2 +- app/controllers/users_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/pseuds_controller.rb b/app/controllers/pseuds_controller.rb index 465afa01325..cd9cc5bb80d 100644 --- a/app/controllers/pseuds_controller.rb +++ b/app/controllers/pseuds_controller.rb @@ -46,7 +46,7 @@ def show @works = visible_works.order("revised_at DESC").limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) @series = visible_series.order("updated_at DESC").limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) - @bookmarks = visible_bookmarks.order("updated_at DESC").limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) + @bookmarks = visible_bookmarks.order("created_at DESC").limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) return unless current_user.respond_to?(:subscriptions) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 6f272edf95d..c6e4229a6c0 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -22,7 +22,7 @@ def show @works = visible[:works].order('revised_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) @series = visible[:series].order('updated_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) - @bookmarks = visible[:bookmarks].order('updated_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) + @bookmarks = visible[:bookmarks].order('created_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) if current_user.respond_to?(:subscriptions) @subscription = current_user.subscriptions.where(subscribable_id: @user.id, subscribable_type: 'User').first || From 3312ddefd9a83d82b832c52b9b60b983c6b6bd69 Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Thu, 30 Apr 2026 10:04:38 -0500 Subject: [PATCH 3/3] Fix style issue --- app/controllers/users_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c6e4229a6c0..68acac9339e 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -22,7 +22,7 @@ def show @works = visible[:works].order('revised_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) @series = visible[:series].order('updated_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) - @bookmarks = visible[:bookmarks].order('created_at DESC').limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) + @bookmarks = visible[:bookmarks].order("created_at DESC").limit(ArchiveConfig.NUMBER_OF_ITEMS_VISIBLE_IN_DASHBOARD) if current_user.respond_to?(:subscriptions) @subscription = current_user.subscriptions.where(subscribable_id: @user.id, subscribable_type: 'User').first ||