From b4169b8709d045ae34a0d879f126eae54fd63c27 Mon Sep 17 00:00:00 2001
From: Jonas Jabari <j.jabari@openproject.com>
Date: Fri, 15 Nov 2024 09:08:45 +0100
Subject: [PATCH 1/3] [#58738] Work package creation event not displayed if
 aggregation includes a comment

https://community.openproject.org/work_packages/58738

From de1059e947a5544beb6c474dd0819507a88f4806 Mon Sep 17 00:00:00 2001
From: Jonas Jabari <j.jabari@openproject.com>
Date: Fri, 15 Nov 2024 09:15:14 +0100
Subject: [PATCH 2/3] added missing creation label for initial comments

---
 .../activities_tab/journals/item_component.html.erb    | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/app/components/work_packages/activities_tab/journals/item_component.html.erb b/app/components/work_packages/activities_tab/journals/item_component.html.erb
index 46e88201e3c8..7ea180f1a7ae 100644
--- a/app/components/work_packages/activities_tab/journals/item_component.html.erb
+++ b/app/components/work_packages/activities_tab/journals/item_component.html.erb
@@ -30,6 +30,16 @@
                                                     classes: "work-packages-activities-tab-journals-item-component--user-name ellipsis hidden-for-mobile") do
                     truncated_user_name(journal.user)
                   end
+                  if journal.initial?
+                      header_start_container.with_column(
+                        mr: 1,
+                        classes: "work-packages-activities-tab-journals-item-component-details--journal-type hidden-for-mobile"
+                      ) do
+                        render(Primer::Beta::Text.new(font_size: :small, color: :subtle, mt: 1)) do
+                          I18n.t("activities.work_packages.activity_tab.created_on")
+                        end
+                      end
+                    end
                   header_start_container.with_column(mr: 1, classes: "hidden-for-mobile") do
                     render(Primer::Beta::Text.new(font_size: :small, color: :subtle, mt: 1)) { format_time(journal.updated_at) }
                   end

From 9662d717498767e95cc76e44124f0c24abf42118 Mon Sep 17 00:00:00 2001
From: Jonas Jabari <j.jabari@openproject.com>
Date: Mon, 18 Nov 2024 17:26:35 +0100
Subject: [PATCH 3/3] fix flaky spec through longer waiting expectation
 approach

---
 spec/features/activities/work_package/activities_spec.rb | 4 ++--
 spec/support/components/work_packages/activities.rb      | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/spec/features/activities/work_package/activities_spec.rb b/spec/features/activities/work_package/activities_spec.rb
index 5428863f8fde..8c3527b0e681 100644
--- a/spec/features/activities/work_package/activities_spec.rb
+++ b/spec/features/activities/work_package/activities_spec.rb
@@ -372,7 +372,7 @@
                                                     version: 2)
 
       # the comment is shown without browser reload
-      wait_for { page }.to have_test_selector("op-journal-notes-body", text: "First comment by member")
+      activity_tab.expect_journal_notes(text: "First comment by member")
 
       # simulate comments made within the polling interval
       create(:work_package_journal, user: member, notes: "Second comment by member", journable: work_package, version: 3)
@@ -390,7 +390,7 @@
       first_journal.update!(notes: "First comment by member updated")
 
       # properly updates the comment when the comment is updated
-      wait(delay: 0.5).for { page }.to have_test_selector("op-journal-notes-body", text: "First comment by member updated")
+      activity_tab.expect_journal_notes(text: "First comment by member updated")
     end
   end
 
diff --git a/spec/support/components/work_packages/activities.rb b/spec/support/components/work_packages/activities.rb
index 822808fea401..8927d4a69e95 100644
--- a/spec/support/components/work_packages/activities.rb
+++ b/spec/support/components/work_packages/activities.rb
@@ -98,7 +98,7 @@ def expect_no_journal_notes_header(text: nil)
       end
 
       def expect_journal_notes(text: nil)
-        expect(page).to have_test_selector("op-journal-notes-body", text:)
+        expect(page).to have_test_selector("op-journal-notes-body", text:, wait: 10)
       end
 
       def expect_notification_bubble