From 91263556a9df83e3998dfe4efca556b982839894 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 31 Oct 2025 21:57:17 +0100 Subject: [PATCH 1/4] Ensure there is a limit of 100 events per column per day Otherwise these pages can get very heavy --- app/helpers/events_helper.rb | 18 ++++++++++++------ app/views/events/day_timeline/_column.html.erb | 5 +++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 14c12c5cd..8bd479784 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -3,24 +3,30 @@ module EventsHelper case event_type when "added" events = day_timeline.events.where(action: [ "card_published", "card_reopened" ]) + full_events_count = events.count { - title: event_column_title("Added", events.count, day_timeline.day), + title: event_column_title("Added", full_events_count, day_timeline.day), index: 1, - events: events + events: events.limit(100).load, + full_events_count: full_events_count } when "closed" events = day_timeline.events.where(action: "card_closed") + full_events_count = events.count { - title: event_column_title("Closed", events.count, day_timeline.day), + title: event_column_title("Closed", full_events_count, day_timeline.day), index: 3, - events: events + events: events.limit(100).load, + full_events_count: full_events_count } else events = day_timeline.events.where.not(action: [ "card_published", "card_closed", "card_reopened" ]) + full_events_count = events.count { - title: event_column_title("Updated", events.count, day_timeline.day), + title: event_column_title("Updated", full_events_count, day_timeline.day), index: 2, - events: events + events: events.limit(100).load, + full_events_count: full_events_count } end end diff --git a/app/views/events/day_timeline/_column.html.erb b/app/views/events/day_timeline/_column.html.erb index a1186da6b..2249766c6 100644 --- a/app/views/events/day_timeline/_column.html.erb +++ b/app/views/events/day_timeline/_column.html.erb @@ -8,4 +8,9 @@ <%= local_datetime_tag events.first.created_at, class: "event__timestamp txt-small translucent" %> <% end %> <% end %> + + <%# FIXME: Need to style this cut-off %> + <% if column[:events].count < column[:full_events_count] %> +

...and <%= column[:full_events_count] - column[:events].count %> more

+ <% end %> From 4b7cd8828fb1c4a7ad68af5fb347aeb9ec3aef21 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Fri, 31 Oct 2025 16:58:21 -0500 Subject: [PATCH 2/4] Style notice --- app/views/events/day_timeline/_column.html.erb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/views/events/day_timeline/_column.html.erb b/app/views/events/day_timeline/_column.html.erb index 2249766c6..ab7f0aa15 100644 --- a/app/views/events/day_timeline/_column.html.erb +++ b/app/views/events/day_timeline/_column.html.erb @@ -9,8 +9,7 @@ <% end %> <% end %> - <%# FIXME: Need to style this cut-off %> <% if column[:events].count < column[:full_events_count] %> -

...and <%= column[:full_events_count] - column[:events].count %> more

+
Showing the first 100 items (<%= column[:full_events_count] - column[:events].count %> are hidden)
From 3bba72bf191fed66c0d158b4124f317c9bdf470f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 2 Nov 2025 08:19:22 +0100 Subject: [PATCH 3/4] Wait a little to ensure attachments have loaded --- test/system/smoke_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/system/smoke_test.rb b/test/system/smoke_test.rb index 870438f72..8c80c165e 100644 --- a/test/system/smoke_test.rb +++ b/test/system/smoke_test.rb @@ -61,8 +61,8 @@ class SmokeTest < ApplicationSystemTestCase def assert_image_figure_attachment(content_type: "image/png", caption:) assert_figure_attachment(content_type: content_type) do - assert_selector("img[src*='/rails/active_storage']") - assert_selector "figcaption input[placeholder='#{caption}']" + assert_selector "img[src*='/rails/active_storage']", wait: 5 + assert_selector "figcaption input[placeholder='#{caption}']", wait: 5 end end end From d6deb3ac5f7b672512e604ffd95360653692ac3d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 2 Nov 2025 08:22:32 +0100 Subject: [PATCH 4/4] Setup signoff too --- bin/setup | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/setup b/bin/setup index 90d68e323..61ab69995 100755 --- a/bin/setup +++ b/bin/setup @@ -62,6 +62,9 @@ if which pacman >/dev/null 2>&1; then fi fi +# Ensure gh-signoff is installed and up to date +step "Set up gh-signoff" bash -c "gh extension install basecamp/gh-signoff || gh extension upgrade basecamp/gh-signoff" + bundle config set --local auto_install true step "Installing RubyGems" bundle install