Problem/Motivation
The Token module adds a token_node_menu_link_submit()
entity builder to the node form that largely duplicates logic from the menu_ui module.
The menu_ui module has recently been updated to work with draft revisions, see:
- #2858434: Menu changes from node form leak into live site when creating draft revision
- #3041326: Remove 'title' and 'description' from MenuSettingsConstraintValidator when used with content moderation by creating a draft of menu link content when a draft of it's parent content is created
The duplicated code in the Token module has not yet been updated with these changes. As a result, sites that have the Token module installed still leak changes from draft revisions.
Priority critical in line with the related core issue #2858434: Menu changes from node form leak into live site when creating draft revision
Proposed resolution
Update token_node_menu_link_submit()
with the recent changes in Drupal Core.
Remaining tasks
- Write a patch
- Review
- Commit
User interface changes
To be determined.
API changes
To be determined.
Data model changes
To be determined.
Comment | File | Size | Author |
---|---|---|---|
#5 | 3065121-5.patch | 1.21 KB | idebr |
| |||
#5 | 3065121-5-test-only.patch | 634 bytes | idebr |
#5 | interdiff-2-5.txt | 321 bytes | idebr |
Comments
Comment #2
idebr CreditAttribution: idebr at ezCompany commentedAttached patch updates
token_node_menu_link_submit()
with the recent changes in Drupal Core.Comment #4
BerdirThis is not necessary, test dependencies are only needed for contrib modules to fetch the dependencies on testbot, this always exists. It's also basically replaced by having a composer.json with require-dev dependencies, which are more flexible and work immediately including in patches.
Comment #5
idebr CreditAttribution: idebr at ezCompany commented#4 Removed the test_dependencies
Comment #8
BerdirThis adds a new public $modules property, but since this is a critical bugfix, I'll commit this and we can fix that in #3040520: Make all $modules properties protected in tests