Add conflict detection and resolution UI for selective publishing
Closes #3585970
Manual Testing Steps - Conflict Detection & Resolution UI
-
Enable dev mode:
ddev drush en canvas_dev_mode -y && ddev drush cr -
Open Canvas
page 1. -
Make a pending change and wait for autosave.
-
Create a real conflict for
page 1:ddev drush esav canvas_page 1 -y -
Wait for autosave polling and verify
/auto-saves/pendingreturns409 Conflict. -
Verify conflict notification toast is visible.
-
Open notification center dropdown and verify conflict notification is visible.
-
Click
Review changesand verify Review changes shows1 conflict to resolve. -
Verify
page 1row shows red warning icon/text and disabled checkbox. -
Open row dropdown and verify
Resolve conflictis shown. -
Repeat same steps for another page, for example
page 2:
ddev drush esav canvas_page 2 -y
- Verify conflicts are visible for both pages.
- Compare banner, row styling, icons, dropdown, toast, notification center, and spacing with the Figma design.
Expected Results
- Conflict UI appears only when dev mode is enabled.
- Conflict notification toast is visible.
- Conflict is visible in notification center dropdown.
- Review changes shows correct conflict count.
- Multiple conflicted pages are shown correctly.
- Conflicted rows cannot be selected for publishing.
- Other pending rows remain normal.
Resolve conflictis visible in row dropdown.- UI matches the Figma reference.
Edited by Ravi Maniyar