Skip to content

[SE-690] Create a work package from a conversation - #25909

Merged
dfriquet merged 11 commits into
epic/se-635-revive-the-forums-modulefrom
implementation/se-690-create-work-package-from-a-conversation
Oct 16, 2026
Merged

dfriquet merged 11 commits into
epic/se-635-revive-the-forums-modulefrom
implementation/se-690-create-work-package-from-a-conversation

Conversation

@dfriquet

@dfriquet dfriquet commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Ticket

https://community.openproject.org/wp/SE-690

Stacked on #25872.

What are you trying to accomplish?

  • "Create work package" in the menu of every forum message, for members allowed to add work packages
  • Hovering a message reveals a "+ Work package" button next to its menu
  • The work package creation dialog opens with the topic's subject and the message's content as description
  • The work package activity tab links to the originating message ("Created from forum message ")
  • Created work packages hang from the thread's lifeline right after their originating message
  • The topic header lists the work packages created from the topic, after the participants count

Screenshots

Message menu with "Create work package"

Screenshot of the overflow menu with Create work package action

Card header with the button on hover

Screenshot of Create work package button on message hover

Prefilled creation dialog

Screenshot of work package creation dialog

Work package hanging from the lifeline after its message

Screenshot of the lifeline branch for the new work package

Topic header listing the created work packages

Screenshot of the topic header

Work package activity tab with "Created from forum message"

Screenshot of the work package with activity tab

What approach did you choose and why?

  • A message_work_packages join table links a work package to its originating message (one message per work package); the journal cause forum_message only serves the activity tab.
  • Journal aggregation no longer folds a change without a cause into a journal that has one: before, the same user's edit right after creation wiped the cause, and a comment following a meeting cause would have inherited it.
  • The activity tab now shows a creation entry's cause (except "Read-only attributes written"): within the aggregation window the cause lands on the creation journal, whose details were never shown.
  • A message the user cannot see answers 404 (view_messages is public, so this is a project without the forums module).
  • Left for later: inline images copied into the description keep pointing at the message's attachments.

AI involvement

Collaborative – AI generated a substantial part of the code; I reviewed and understand every line.

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome)

@github-actions github-actions Bot added the ai: Collaborative 💻 AI generated a substantial part of the code; A human reviewed and understands every line. label Oct 9, 2026
@dfriquet dfriquet mentioned this pull request Oct 9, 2026
1 of 8 tasks
@dfriquet
dfriquet force-pushed the implementation/se-684-primerize-forums branch from 6f88291 to 23fe44b Compare October 9, 2026 09:03
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from 44397bf to b4b17c7 Compare October 9, 2026 09:05
@dfriquet
dfriquet force-pushed the implementation/se-684-primerize-forums branch from 23fe44b to f9f15c3 Compare October 9, 2026 14:24
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from d798bb6 to d984508 Compare October 9, 2026 14:24
@dfriquet
dfriquet force-pushed the implementation/se-684-primerize-forums branch from f9f15c3 to af03909 Compare October 9, 2026 15:09
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from d984508 to 2a246bb Compare October 9, 2026 15:09
@dfriquet
dfriquet force-pushed the implementation/se-684-primerize-forums branch from af03909 to 7fcf020 Compare October 9, 2026 15:32
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from d4c93e5 to 03b8d66 Compare October 9, 2026 15:35
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./modules/bim/spec/features/bim_filter_spec.rb[1:1:1]
  • rspec ./spec/features/projects/creation_wizard/wizard_from_template_flow_spec.rb[1:1]
🤖 Ask Copilot to investigate

Copy the prompt below into a new comment on this PR to delegate the investigation to GitHub Copilot. It will look into the flakiness and open a separate pull request with you as reviewer.

@copilot The following spec(s) are flaky in CI (first seen on PR #25909, linked for reference only):

- `rspec ./modules/bim/spec/features/bim_filter_spec.rb[1:1:1]`
- `rspec ./spec/features/projects/creation_wizard/wizard_from_template_flow_spec.rb[1:1]`

Treat this as a standalone task, unrelated to PR #25909. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #25909 or reuse that branch.

Follow the playbook in docs/development/testing/handling-flaky-tests/README.md to find the root cause and fix the underlying race — do not skip, delete, or weaken the spec to make it pass; disabling is a last resort per the playbook, and only with a bug ticket. Verify the fix by running the spec(s) repeatedly (e.g. `script/bulk_run_rspec --run-count 10`).

If you cannot reproduce the flake or are not confident in a fix after reasonable investigation, do not fabricate a change or skip the spec to force CI green. Instead, leave the pull request in draft and document what you tried, the suspected cause, and any leads in its description, then assign @dfriquet to take over.

Once the fix is verified, title the PR after the spec(s) it fixes, and use the PR description to explain the root cause, how the change resolves it, and the before/after results. Label the PR `flaky-spec`, assign @dfriquet, and request a review from @dfriquet.
On every commit, set @dfriquet as the sole co-author with a `Co-authored-by:` trailer (use their GitHub no-reply email so it links to their account), so it is traceable who dispatched the fix.

@dfriquet
dfriquet force-pushed the implementation/se-684-primerize-forums branch from 7fcf020 to dc0e9d3 Compare October 9, 2026 16:17
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch 2 times, most recently from 4a8d7c3 to 56f74de Compare October 12, 2026 15:51
@oliverguenther

Copy link
Copy Markdown
Member

Quick feedback from the top of my head: I'd say the + Work package action is a bit too prominent as a button. I'd probably prefer it as an action menu.

@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from 56f74de to 5ce60f9 Compare October 13, 2026 15:22
@dfriquet
dfriquet marked this pull request as ready for review October 13, 2026 15:30
Base automatically changed from implementation/se-684-primerize-forums to epic/se-635-revive-the-forums-module October 13, 2026 15:43
@github-actions

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./modules/gantt/spec/features/timeline/timeline_dates_spec.rb[1:2:1]
  • rspec ./spec/features/types/form_configuration_query_spec.rb[1:1:9:1:1]
🤖 Ask Copilot to investigate

Copy the prompt below into a new comment on this PR to delegate the investigation to GitHub Copilot. It will look into the flakiness and open a separate pull request with you as reviewer.

@copilot The following spec(s) are flaky in CI (first seen on PR #25909, linked for reference only):

- `rspec ./modules/gantt/spec/features/timeline/timeline_dates_spec.rb[1:2:1]`
- `rspec ./spec/features/types/form_configuration_query_spec.rb[1:1:9:1:1]`

Treat this as a standalone task, unrelated to PR #25909. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #25909 or reuse that branch.

Follow the playbook in docs/development/testing/handling-flaky-tests/README.md to find the root cause and fix the underlying race — do not skip, delete, or weaken the spec to make it pass; disabling is a last resort per the playbook, and only with a bug ticket. Verify the fix by running the spec(s) repeatedly (e.g. `script/bulk_run_rspec --run-count 10`).

If you cannot reproduce the flake or are not confident in a fix after reasonable investigation, do not fabricate a change or skip the spec to force CI green. Instead, leave the pull request in draft and document what you tried, the suspected cause, and any leads in its description, then assign @dfriquet to take over.

Once the fix is verified, title the PR after the spec(s) it fixes, and use the PR description to explain the root cause, how the change resolves it, and the before/after results. Label the PR `flaky-spec`, assign @dfriquet, and request a review from @dfriquet.
On every commit, set @dfriquet as the sole co-author with a `Co-authored-by:` trailer (use their GitHub no-reply email so it links to their account), so it is traceable who dispatched the fix.

@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from 5ce60f9 to ad472b6 Compare October 13, 2026 16:14
@dfriquet

Copy link
Copy Markdown
Contributor Author

Quick feedback from the top of my head: I'd say the + Work package action is a bit too prominent as a button. I'd probably prefer it as an action menu.

It’s both an action menu item, and a button. The button only appears when hovering the message card. The idea behind that extra button was:

  1. to put some spotlight on the forums tightly coupling with our project management system’s core feature;
  2. on hover so that it does not clutter the UI showing up on every message, with the action menu item as fallback for mobile for example.

@oliverguenther

Copy link
Copy Markdown
Member

Quick feedback from the top of my head: I'd say the + Work package action is a bit too prominent as a button. I'd probably prefer it as an action menu.

It’s both an action menu item, and a button. The button only appears when hovering the message card. The idea behind that extra button was:

  1. to put some spotlight on the forums tightly coupling with our project management system’s core feature;
  2. on hover so that it does not clutter the UI showing up on every message, with the action menu item as fallback for mobile for example.

I missed the hovering bit, that's perfectly fine to me then 👍

@dfriquet
dfriquet force-pushed the epic/se-635-revive-the-forums-module branch from 2878dca to e47792b Compare October 15, 2026 07:17
@dfriquet
dfriquet force-pushed the implementation/se-690-create-work-package-from-a-conversation branch from ad472b6 to bbc57d1 Compare October 15, 2026 07:17
@github-actions

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./modules/boards/spec/features/board_navigation_spec.rb[1:1]
🤖 Ask Copilot to investigate

Copy the prompt below into a new comment on this PR to delegate the investigation to GitHub Copilot. It will look into the flakiness and open a separate pull request with you as reviewer.

@copilot The following spec(s) are flaky in CI (first seen on PR #25909, linked for reference only):

- `rspec ./modules/boards/spec/features/board_navigation_spec.rb[1:1]`

Treat this as a standalone task, unrelated to PR #25909. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #25909 or reuse that branch.

Follow the playbook in docs/development/testing/handling-flaky-tests/README.md to find the root cause and fix the underlying race — do not skip, delete, or weaken the spec to make it pass; disabling is a last resort per the playbook, and only with a bug ticket. Verify the fix by running the spec(s) repeatedly (e.g. `script/bulk_run_rspec --run-count 10`).

If you cannot reproduce the flake or are not confident in a fix after reasonable investigation, do not fabricate a change or skip the spec to force CI green. Instead, leave the pull request in draft and document what you tried, the suspected cause, and any leads in its description, then assign @dfriquet to take over.

Once the fix is verified, title the PR after the spec(s) it fixes, and use the PR description to explain the root cause, how the change resolves it, and the before/after results. Label the PR `flaky-spec`, assign @dfriquet, and request a review from @dfriquet.
On every commit, set @dfriquet as the sole co-author with a `Co-authored-by:` trailer (use their GitHub no-reply email so it links to their account), so it is traceable who dispatched the fix.

@oliverguenther oliverguenther left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smoke tested locally, LGTM 👍 Same comment as with the other PR, please document a draft for the docs (can be a separate PR all together an assigned to Maya)

@dfriquet
dfriquet merged commit 7dd0511 into epic/se-635-revive-the-forums-module Oct 16, 2026
16 checks passed
@dfriquet
dfriquet deleted the implementation/se-690-create-work-package-from-a-conversation branch October 16, 2026 12:33
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 16, 2026
@dfriquet

dfriquet commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

Same comment as with the other PR, please document a draft for the docs (can be a separate PR all together an assigned to Maya)

@oliverguenther You can find it in the middle of a spike. It will be easily extracted if I can’t stabilize the groundwork for general availability.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

ai: Collaborative 💻 AI generated a substantial part of the code; A human reviewed and understands every line. Passion time

Development

Successfully merging this pull request may close these issues.

2 participants