Conversation
📝 WalkthroughWalkthroughBumps multiple dependencies in composer.json, adds a Gherkin code-block language option to the CKEditor5 rich text editor, adds a Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@config/default/filter.format.civictheme_rich_text.yml`:
- Line 82: The <a> tag allowed attributes in
ckeditor5_sourceEditing.allowed_tags must include Linkit's metadata so links
with media_substitution: metadata keep their entity info; update the config
entry that defines allowed attributes for the <a> tag
(ckeditor5_sourceEditing.allowed_tags) to add data-entity-type,
data-entity-uuid, and data-entity-substitution (in addition to existing
hreflang, target, title) so Linkit can resolve entity links correctly.
| weight: 0 | ||
| settings: | ||
| title: true | ||
| media_substitution: metadata |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's locate and examine the filter format config file
cat -n config/default/filter.format.civictheme_rich_text.yml | sed -n '70,90p'Repository: drevops/website
Length of output: 612
🏁 Script executed:
# Now let's look at the editor config file for the allowed_tags setting
cat -n config/default/editor.editor.civictheme_rich_text.yml | grep -A 5 -B 5 "allowed_tags"Repository: drevops/website
Length of output: 407
🏁 Script executed:
# Let's check the full structure around ckeditor5_sourceEditing in the editor config
cat -n config/default/editor.editor.civictheme_rich_text.yml | grep -A 10 -B 2 "ckeditor5_sourceEditing"Repository: drevops/website
Length of output: 686
🏁 Script executed:
# Search for any Linkit-related configuration or documentation
find . -type f \( -name "*.yml" -o -name "*.yaml" -o -name "*.md" \) | xargs grep -l "Linkit\|media_substitution" | head -20Repository: drevops/website
Length of output: 276
🏁 Script executed:
# Search for the <a> tag in the editor config file
grep -n "<a" config/default/editor.editor.civictheme_rich_text.ymlRepository: drevops/website
Length of output: 556
🏁 Script executed:
# Get full allowed_tags section
cat -n config/default/editor.editor.civictheme_rich_text.yml | sed -n '109,150p'Repository: drevops/website
Length of output: 1997
🏁 Script executed:
# Let's check the Linkit profile configuration to understand media_substitution behavior
cat config/default/linkit.linkit_profile.civictheme.ymlRepository: drevops/website
Length of output: 1013
🌐 Web query:
Linkit Drupal media_substitution metadata data-entity-substitution
💡 Result:
In Drupal, Linkit stores “entity links” by adding attributes to the rendered <a> tag (or sometimes the embedded element), mainly:
data-entity-type="…"(e.g.,node,media)data-entity-uuid="…"data-entity-substitution="…"(the substitution plugin ID that decides what URL gets output)
For media, data-entity-substitution is what people often mean by “media_substitution”: it controls whether the link resolves to the canonical media entity URL (often canonical) or the direct file URL (commonly media). Changing the matcher/substitution later typically won’t update existing links, because the chosen substitution is already stored in each link’s data-entity-substitution and is not re-evaluated at render time. [4]
If you’re seeing Linkit “metadata” disappear or stop working, common causes are:
-
Your text format is stripping the attribute
Iffilter_html(Allowed HTML) does not allowdata-entity-substitution, it can be removed on save, breaking Linkit’s ability to re-resolve the entity link. [2] -
Linking a CKEditor Media item (drupal-media) is special
When you wrap a<drupal-media …>element with a link in CKEditor, Linkit may not be able to preserve/attach the needed entity attributes the way you expect. There’s an open/long-running problem where linking around Media Library items can omitdata-entity-*metadata, and in CKEditor 5 the longer-term direction is that link metadata may need to be stored on the media element itself (core work), not by “wrapping” it. [1]
If you tell me your Drupal version (9/10/11), editor (CKEditor 4 vs 5), and show the exact HTML before/after save, I can point to the precise fix (text format allowed-attributes vs a known Linkit/CKEditor media limitation).
🏁 Script executed:
# Let's search for any documentation or comments in the repo about media_substitution
grep -r "media_substitution" . --include="*.md" --include="*.txt" --include="*.yml"Repository: drevops/website
Length of output: 149
🏁 Script executed:
# Check if there are any comments or README files that explain the Linkit setup
find . -type f \( -name "README*" -o -name "*.md" \) | xargs grep -l "Linkit\|media_substitution" 2>/dev/null || echo "No matches found"Repository: drevops/website
Length of output: 75
Expand <a> tag allowed attributes to preserve Linkit's entity link metadata.
With media_substitution: metadata, Linkit adds data-entity-type, data-entity-uuid, and data-entity-substitution to links. The current ckeditor5_sourceEditing.allowed_tags allows only <a hreflang target title> and will strip these attributes when source editing is toggled, breaking Linkit's ability to resolve the links.
Suggested update in config/default/editor.editor.civictheme_rich_text.yml
- - '<a hreflang target title>'
+ - '<a hreflang target title data-entity-type data-entity-uuid data-entity-substitution>'🤖 Prompt for AI Agents
In `@config/default/filter.format.civictheme_rich_text.yml` at line 82, The <a>
tag allowed attributes in ckeditor5_sourceEditing.allowed_tags must include
Linkit's metadata so links with media_substitution: metadata keep their entity
info; update the config entry that defines allowed attributes for the <a> tag
(ckeditor5_sourceEditing.allowed_tags) to add data-entity-type,
data-entity-uuid, and data-entity-substitution (in addition to existing
hreflang, target, title) so Linkit can resolve entity links correctly.
``` Changelogs summary: - drupal/core-composer-scaffold updated from 11.3.1 to 11.3.2 patch See changes: drupal/core-composer-scaffold@11.3.1...11.3.2 Release notes: https://github.com/drupal/core-composer-scaffold/releases/tag/11.3.2 - ergebnis/composer-normalize updated from 2.48.2 to 2.49.0 minor See changes: ergebnis/composer-normalize@2.48.2...2.49.0 Release notes: https://github.com/ergebnis/composer-normalize/releases/tag/2.49.0 - symfony/string updated from v7.4.0 to v7.4.4 patch See changes: symfony/string@v7.4.0...v7.4.4 Release notes: https://github.com/symfony/string/releases/tag/v7.4.4 - symfony/console updated from v7.4.3 to v7.4.4 patch See changes: symfony/console@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/console/releases/tag/v7.4.4 - symfony/finder updated from v7.4.3 to v7.4.5 patch See changes: symfony/finder@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/finder/releases/tag/v7.4.5 - doctrine/event-manager updated from 2.0.1 to 2.1.1 minor See changes: doctrine/event-manager@2.0.1...2.1.1 Release notes: https://github.com/doctrine/event-manager/releases/tag/2.1.1 - symfony/translation updated from v7.4.3 to v7.4.4 patch See changes: symfony/translation@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/translation/releases/tag/v7.4.4 - symfony/event-dispatcher updated from v7.4.0 to v7.4.4 patch See changes: symfony/event-dispatcher@v7.4.0...v7.4.4 Release notes: https://github.com/symfony/event-dispatcher/releases/tag/v7.4.4 - symfony/dependency-injection updated from v7.4.3 to v7.4.5 patch See changes: symfony/dependency-injection@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/dependency-injection/releases/tag/v7.4.5 - symfony/config updated from v7.4.3 to v7.4.4 patch See changes: symfony/config@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/config/releases/tag/v7.4.4 - symfony/http-client updated from v6.4.31 to v6.4.33 patch See changes: symfony/http-client@v6.4.31...v6.4.33 Release notes: https://github.com/symfony/http-client/releases/tag/v6.4.33 - symfony/process updated from v7.4.3 to v7.4.5 patch See changes: symfony/process@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/process/releases/tag/v7.4.5 - symfony/validator updated from v7.4.3 to v7.4.5 patch See changes: symfony/validator@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/validator/releases/tag/v7.4.5 - symfony/serializer updated from v7.4.3 to v7.4.5 patch See changes: symfony/serializer@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/serializer/releases/tag/v7.4.5 - symfony/routing updated from v7.4.3 to v7.4.4 patch See changes: symfony/routing@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/routing/releases/tag/v7.4.4 - symfony/http-foundation updated from v7.4.3 to v7.4.5 patch See changes: symfony/http-foundation@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/http-foundation/releases/tag/v7.4.5 - symfony/psr-http-message-bridge updated from v7.4.0 to v7.4.4 patch See changes: symfony/psr-http-message-bridge@v7.4.0...v7.4.4 Release notes: https://github.com/symfony/psr-http-message-bridge/releases/tag/v7.4.4 - symfony/mime updated from v7.4.0 to v7.4.5 patch See changes: symfony/mime@v7.4.0...v7.4.5 Release notes: https://github.com/symfony/mime/releases/tag/v7.4.5 - symfony/mailer updated from v7.4.3 to v7.4.4 patch See changes: symfony/mailer@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/mailer/releases/tag/v7.4.4 - symfony/var-dumper updated from v7.4.3 to v7.4.4 patch See changes: symfony/var-dumper@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/var-dumper/releases/tag/v7.4.4 - symfony/error-handler updated from v7.4.0 to v7.4.4 patch See changes: symfony/error-handler@v7.4.0...v7.4.4 Release notes: https://github.com/symfony/error-handler/releases/tag/v7.4.4 - symfony/http-kernel updated from v7.4.3 to v7.4.5 patch See changes: symfony/http-kernel@v7.4.3...v7.4.5 Release notes: https://github.com/symfony/http-kernel/releases/tag/v7.4.5 - pear/pear-core-minimal updated from v1.10.17 to v1.10.18 patch See changes: pear/pear-core-minimal@v1.10.17...v1.10.18 Release notes: https://github.com/pear/pear-core-minimal/releases/tag/v1.10.18 - drupal/core updated from 11.3.1 to 11.3.2 patch See changes: drupal/core@11.3.1...11.3.2 Release notes: https://github.com/drupal/core/releases/tag/11.3.2 - symfony/dom-crawler updated from v7.4.1 to v7.4.4 patch See changes: symfony/dom-crawler@v7.4.1...v7.4.4 Release notes: https://github.com/symfony/dom-crawler/releases/tag/v7.4.4 - symfony/browser-kit updated from v7.4.3 to v7.4.4 patch See changes: symfony/browser-kit@v7.4.3...v7.4.4 Release notes: https://github.com/symfony/browser-kit/releases/tag/v7.4.4 - drevops/behat-steps updated from 3.4.0 to 3.5.0 minor See changes: drevops/behat-steps@3.4.0...3.5.0 Release notes: https://github.com/drevops/behat-steps/releases/tag/3.5.0 - drupal/key updated from 1.21.0 to 1.22.0 minor - drupal/ai updated from 1.2.4 to 1.2.8 patch - drupal/webform updated from 6.3.0-beta6 to 6.3.0-beta7 patch - drupal/token updated from 1.16.0 to 1.17.0 minor - phpstan/phpdoc-parser updated from 2.3.0 to 2.3.2 patch See changes: phpstan/phpdoc-parser@2.3.0...2.3.2 Release notes: https://github.com/phpstan/phpdoc-parser/releases/tag/2.3.2 - slevomat/coding-standard updated from 8.26.0 to 8.27.1 minor See changes: slevomat/coding-standard@8.26.0...8.27.1 Release notes: https://github.com/slevomat/coding-standard/releases/tag/8.27.1 - drupal/core-recommended updated from 11.3.1 to 11.3.2 patch See changes: drupal/core-recommended@11.3.1...11.3.2 Release notes: https://github.com/drupal/core-recommended/releases/tag/11.3.2 - drupal/diff updated from 1.9.0 to 1.10.0 minor - psy/psysh updated from v0.12.18 to v0.12.19 patch See changes: bobthecow/psysh@v0.12.18...v0.12.19 Release notes: https://github.com/bobthecow/psysh/releases/tag/v0.12.19 - laravel/prompts updated from v0.3.8 to v0.3.12 patch See changes: laravel/prompts@v0.3.8...v0.3.12 Release notes: https://github.com/laravel/prompts/releases/tag/v0.3.12 - drush/drush updated from 13.7.0 to 13.7.1 patch See changes: drush-ops/drush@13.7.0...13.7.1 Release notes: https://github.com/drush-ops/drush/releases/tag/13.7.1 - phpstan/phpstan updated from 2.1.33 to 2.1.38 patch - rector/rector updated from 2.3.0 to 2.3.5 patch See changes: rectorphp/rector@2.3.0...2.3.5 Release notes: https://github.com/rectorphp/rector/releases/tag/2.3.5 - webmozart/assert updated from 1.12.1 to 2.1.2 major See changes: webmozarts/assert@1.12.1...2.1.2 Release notes: https://github.com/webmozarts/assert/releases/tag/2.1.2 - sebastian/comparator updated from 6.3.2 to 6.3.3 patch See changes: sebastianbergmann/comparator@6.3.2...6.3.3 Release notes: https://github.com/sebastianbergmann/comparator/releases/tag/6.3.3 - phpunit/php-file-iterator updated from 5.1.0 to 5.1.1 patch See changes: sebastianbergmann/php-file-iterator@5.1.0...5.1.1 Release notes: https://github.com/sebastianbergmann/php-file-iterator/releases/tag/5.1.1 - phpunit/phpunit updated from 11.5.46 to 11.5.50 patch See changes: sebastianbergmann/phpunit@11.5.46...11.5.50 Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/11.5.50 - vincentlanglet/twig-cs-fixer updated from 3.11.0 to 3.13.0 minor See changes: VincentLanglet/Twig-CS-Fixer@3.11.0...3.13.0 Release notes: https://github.com/VincentLanglet/Twig-CS-Fixer/releases/tag/3.13.0 No security vulnerability advisories found. ```
cae0a0f to
1440f02
Compare
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #133 +/- ##
=======================================
Coverage 0.00% 0.00%
=======================================
Files 1 1
Lines 8 8
=======================================
Misses 8 8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
What changed
11.3.1to11.3.2, including corresponding core scaffolding and recommended dependency updates.7.4.xseries, improving stability and consistency.Key highlights
11.3.2, keeping the site aligned with the latest maintenance release.7.4.xand6.4.xlines.Testing focus
Overall impact
This update focuses on routine maintenance, keeping the platform current with the latest supported releases and improving long-term stability.
The overall risk level is low, as changes are limited to patch and minor updates with no expected behavioural changes for end users.
No functional regressions are expected for standard site features, provided routine regression testing is completed.
Changes
doctrine/event-manager updated from
2.0.1to2.1.1minorSee changes: doctrine/event-manager@2.0.1...2.1.1
Release notes: https://github.com/doctrine/event-manager/releases/tag/2.1.1
drupal/ai updated from
1.2.4to1.2.8patchdrupal/core updated from
11.3.1to11.3.2patchSee changes: drupal/core@11.3.1...11.3.2
Release notes: https://github.com/drupal/core/releases/tag/11.3.2
drupal/core-composer-scaffold updated from
11.3.1to11.3.2patchSee changes: drupal/core-composer-scaffold@11.3.1...11.3.2
Release notes: https://github.com/drupal/core-composer-scaffold/releases/tag/11.3.2
drupal/core-recommended updated from
11.3.1to11.3.2patchSee changes: drupal/core-recommended@11.3.1...11.3.2
Release notes: https://github.com/drupal/core-recommended/releases/tag/11.3.2
drupal/diff updated from
1.9.0to1.10.0minordrupal/key updated from
1.21.0to1.22.0minordrupal/token updated from
1.16.0to1.17.0minordrupal/webform updated from
6.3.0-beta6to6.3.0-beta7patchdrevops/behat-steps updated from
3.4.0to3.5.0minorSee changes: drevops/behat-steps@3.4.0...3.5.0
Release notes: https://github.com/drevops/behat-steps/releases/tag/3.5.0
drush/drush updated from
13.7.0to13.7.1patchSee changes: drush-ops/drush@13.7.0...13.7.1
Release notes: https://github.com/drush-ops/drush/releases/tag/13.7.1
ergebnis/composer-normalize updated from
2.48.2to2.49.0minorSee changes: ergebnis/composer-normalize@2.48.2...2.49.0
Release notes: https://github.com/ergebnis/composer-normalize/releases/tag/2.49.0
laravel/prompts updated from
v0.3.8tov0.3.12patchSee changes: laravel/prompts@v0.3.8...v0.3.12
Release notes: https://github.com/laravel/prompts/releases/tag/v0.3.12
pear/pear-core-minimal updated from
v1.10.17tov1.10.18patchSee changes: pear/pear-core-minimal@v1.10.17...v1.10.18
Release notes: https://github.com/pear/pear-core-minimal/releases/tag/v1.10.18
phpstan/phpdoc-parser updated from
2.3.0to2.3.2patchSee changes: phpstan/phpdoc-parser@2.3.0...2.3.2
Release notes: https://github.com/phpstan/phpdoc-parser/releases/tag/2.3.2
phpstan/phpstan updated from
2.1.33to2.1.38patchphpunit/php-file-iterator updated from
5.1.0to5.1.1patchSee changes: sebastianbergmann/php-file-iterator@5.1.0...5.1.1
Release notes: https://github.com/sebastianbergmann/php-file-iterator/releases/tag/5.1.1
phpunit/phpunit updated from
11.5.46to11.5.50patchSee changes: sebastianbergmann/phpunit@11.5.46...11.5.50
Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/11.5.50
psy/psysh updated from
v0.12.18tov0.12.19patchSee changes: bobthecow/psysh@v0.12.18...v0.12.19
Release notes: https://github.com/bobthecow/psysh/releases/tag/v0.12.19
rector/rector updated from
2.3.0to2.3.5patchSee changes: rectorphp/rector@2.3.0...2.3.5
Release notes: https://github.com/rectorphp/rector/releases/tag/2.3.5
sebastian/comparator updated from
6.3.2to6.3.3patchSee changes: sebastianbergmann/comparator@6.3.2...6.3.3
Release notes: https://github.com/sebastianbergmann/comparator/releases/tag/6.3.3
slevomat/coding-standard updated from
8.26.0to8.27.1minorSee changes: slevomat/coding-standard@8.26.0...8.27.1
Release notes: https://github.com/slevomat/coding-standard/releases/tag/8.27.1
symfony/browser-kit updated from
v7.4.3tov7.4.4patchSee changes: symfony/browser-kit@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/browser-kit/releases/tag/v7.4.4
symfony/config updated from
v7.4.3tov7.4.4patchSee changes: symfony/config@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/config/releases/tag/v7.4.4
symfony/console updated from
v7.4.3tov7.4.4patchSee changes: symfony/console@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/console/releases/tag/v7.4.4
symfony/dependency-injection updated from
v7.4.3tov7.4.5patchSee changes: symfony/dependency-injection@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/dependency-injection/releases/tag/v7.4.5
symfony/dom-crawler updated from
v7.4.1tov7.4.4patchSee changes: symfony/dom-crawler@v7.4.1...v7.4.4
Release notes: https://github.com/symfony/dom-crawler/releases/tag/v7.4.4
symfony/error-handler updated from
v7.4.0tov7.4.4patchSee changes: symfony/error-handler@v7.4.0...v7.4.4
Release notes: https://github.com/symfony/error-handler/releases/tag/v7.4.4
symfony/event-dispatcher updated from
v7.4.0tov7.4.4patchSee changes: symfony/event-dispatcher@v7.4.0...v7.4.4
Release notes: https://github.com/symfony/event-dispatcher/releases/tag/v7.4.4
symfony/finder updated from
v7.4.3tov7.4.5patchSee changes: symfony/finder@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/finder/releases/tag/v7.4.5
symfony/http-client updated from
v6.4.31tov6.4.33patchSee changes: symfony/http-client@v6.4.31...v6.4.33
Release notes: https://github.com/symfony/http-client/releases/tag/v6.4.33
symfony/http-foundation updated from
v7.4.3tov7.4.5patchSee changes: symfony/http-foundation@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/http-foundation/releases/tag/v7.4.5
symfony/http-kernel updated from
v7.4.3tov7.4.5patchSee changes: symfony/http-kernel@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/http-kernel/releases/tag/v7.4.5
symfony/mailer updated from
v7.4.3tov7.4.4patchSee changes: symfony/mailer@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/mailer/releases/tag/v7.4.4
symfony/mime updated from
v7.4.0tov7.4.5patchSee changes: symfony/mime@v7.4.0...v7.4.5
Release notes: https://github.com/symfony/mime/releases/tag/v7.4.5
symfony/process updated from
v7.4.3tov7.4.5patchSee changes: symfony/process@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/process/releases/tag/v7.4.5
symfony/psr-http-message-bridge updated from
v7.4.0tov7.4.4patchSee changes: symfony/psr-http-message-bridge@v7.4.0...v7.4.4
Release notes: https://github.com/symfony/psr-http-message-bridge/releases/tag/v7.4.4
symfony/routing updated from
v7.4.3tov7.4.4patchSee changes: symfony/routing@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/routing/releases/tag/v7.4.4
symfony/serializer updated from
v7.4.3tov7.4.5patchSee changes: symfony/serializer@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/serializer/releases/tag/v7.4.5
symfony/string updated from
v7.4.0tov7.4.4patchSee changes: symfony/string@v7.4.0...v7.4.4
Release notes: https://github.com/symfony/string/releases/tag/v7.4.4
symfony/translation updated from
v7.4.3tov7.4.4patchSee changes: symfony/translation@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/translation/releases/tag/v7.4.4
symfony/validator updated from
v7.4.3tov7.4.5patchSee changes: symfony/validator@v7.4.3...v7.4.5
Release notes: https://github.com/symfony/validator/releases/tag/v7.4.5
symfony/var-dumper updated from
v7.4.3tov7.4.4patchSee changes: symfony/var-dumper@v7.4.3...v7.4.4
Release notes: https://github.com/symfony/var-dumper/releases/tag/v7.4.4
vincentlanglet/twig-cs-fixer updated from
3.11.0to3.13.0minorSee changes: VincentLanglet/Twig-CS-Fixer@3.11.0...3.13.0
Release notes: https://github.com/VincentLanglet/Twig-CS-Fixer/releases/tag/3.13.0
webmozart/assert updated from
1.12.1to2.1.2majorSee changes: webmozarts/assert@1.12.1...2.1.2
Release notes: https://github.com/webmozarts/assert/releases/tag/2.1.2
Summary by CodeRabbit
Chores
New Features