Skip to content

[DREAM-802] Migrate phase definitions and export template lists to BorderBoxList - #24644

Merged
myabc merged 3 commits into
devfrom
implementation/DREAM-802-admin-list-migrations
Aug 12, 2026
Merged

[DREAM-802] Migrate phase definitions and export template lists to BorderBoxList#24644
myabc merged 3 commits into
devfrom
implementation/DREAM-802-admin-list-migrations

Conversation

@myabc

@myabc myabc commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Ticket

https://community.openproject.org/wp/DREAM-802

What are you trying to accomplish?

Second slice of the DREAM-697 split: migrates the two admin surfaces whose markup gates DREAM-789, so the sortable-lists migration sequence under DREAM-671 can proceed once this lands.

  • Settings::ProjectPhaseDefinitions::IndexComponent moves from border_box_container to OpenProject::Common::BorderBoxListComponent.
  • WorkPackageTypes::ExportTemplateListComponent does the same, keeping its readonly Enterprise banner state and per-row toggles.
  • The phase definitions list opts into empty_state_behavior: :dynamic: filtering to no matches now shows the blankslate inside the box, replacing the detached plain-text "No items found" notice.

What approach did you choose and why?

One commit per surface with component specs each, mirroring the review structure of the rest of the stack. Stacked on the DREAM-801 API PR (#24643) because both surfaces use the reworked menu and header slots.

Visual comparisons

Show baseline/candidate screenshots

Baseline is shown on the left; the candidate stack is shown on the right. (Screenshots predate the empty-state rework; regeneration pending.)

Project phase definitions

Project phase definitions — baseline left, candidate right

Work package type PDF export templates

Work package type PDF export templates — baseline left, candidate right

Merge checklist

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

@myabc myabc changed the title implementation/DREAM 802 admin list migrations [DREAM-802] Migrate phase definitions and export template lists to BorderBoxList Aug 6, 2026
@myabc
myabc requested a lite review from Copilot August 6, 2026 17:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from 989ca36 to b274756 Compare August 6, 2026 19:43
@myabc
myabc requested a lite review from Copilot August 6, 2026 19:50
Comment on lines +134 to +139
# Cuprite does not reliably trigger Dragula's mouse lifecycle for Primer lists,
# so exercise the generic controller's drop callback once it is connected.
# This is a synthetic, controller-level drop: it bypasses the drag handle,
# canStartDrag, and Dragula's pointer lifecycle, proving persistence but not
# the user interaction. Real drag coverage arrives with the Selenium
# sortable-lists specs when these surfaces migrate under DREAM-789.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This will go soon.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from b274756 to 8ba717b Compare August 6, 2026 20:44
@myabc
myabc marked this pull request as ready for review August 6, 2026 21:16
@myabc myabc added maintenance styling ruby Pull requests that update Ruby code needs review labels Aug 6, 2026
@myabc myabc added this to the 17.8.x milestone Aug 6, 2026
@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from 8ba717b to defada7 Compare August 6, 2026 21:38
@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from defada7 to ad49f9d Compare August 7, 2026 07:17
@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from ad49f9d to 8c97b3e Compare August 7, 2026 07:39
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./spec/features/activities/work_package/activities_spec.rb[1:5:2: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 #24644, linked for reference only):

- `rspec ./spec/features/activities/work_package/activities_spec.rb[1:5:2:1]`

Treat this as a standalone task, unrelated to PR #24644. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #24644 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 @myabc 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 @myabc, and request a review from @myabc.
On every commit, set @myabc 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.

@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from 8c97b3e to 4d17a93 Compare August 7, 2026 19:07

@bsatarnejad bsatarnejad left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM 👍🏼

@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch 2 times, most recently from ef1a343 to e8d2883 Compare August 12, 2026 09:39
@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch 2 times, most recently from 0c2fa2e to d57abda Compare August 12, 2026 11:04
Base automatically changed from implementation/DREAM-801-borderbox-header-api to dev August 12, 2026 12:25
myabc added 3 commits August 12, 2026 14:25
Moves phase-definition rows to the shared list and preserves drag ids.

https://community.openproject.org/wp/DREAM-697
Ports the export-template selector and its accessible toggles.

https://community.openproject.org/wp/DREAM-697
Filtering the phase definitions to no matches left a bare header box
with a detached plain-text notice below it. The list's own empty state
now appears inside the box through the dynamic lifecycle.

https://community.openproject.org/wp/DREAM-802
@myabc
myabc force-pushed the implementation/DREAM-802-admin-list-migrations branch from d57abda to c3c98e0 Compare August 12, 2026 12:26
@github-actions

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./modules/backlogs/spec/features/inbox_column_spec.rb[1:7: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 #24644, linked for reference only):

- `rspec ./modules/backlogs/spec/features/inbox_column_spec.rb[1:7:1]`

Treat this as a standalone task, unrelated to PR #24644. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #24644 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 @myabc 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 @myabc, and request a review from @myabc.
On every commit, set @myabc 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.

@myabc
myabc merged commit 768b1b8 into dev Aug 12, 2026
16 checks passed
@myabc
myabc deleted the implementation/DREAM-802-admin-list-migrations branch August 12, 2026 12:54
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

maintenance needs review ruby Pull requests that update Ruby code styling

Development

Successfully merging this pull request may close these issues.

3 participants