Repository navigation
[6.x] Redesign the System Messages utility - #19946
Conversation
Twig decides escaping at compile time, but string and object templates were compiled under a name derived only from their source. Rendering a template without escaping and then with it reused the unescaped compiled template, so system messages' HTML bodies (rendered after their plain-text bodies) inserted variables unescaped. Now that escaping works, the default system messages drop the |e filter, which showed HTML entities in their plain-text bodies.
- Show messages in cards and edit them in a slideout with a Markdown editor.
- Fix the editor's language menu, which was never imported and rendered empty.
- Suggest each message's Twig variables when typing {{ in the subject or body.
Messages can declare their variables via a new variables attribute, and
SystemMessages::getTemplateVariables() adds the ones every message gets.
- Give each edit button a distinct accessible name and show Subject as required.
📚 Storybook previews@craftcms/ui — open Storybook No changed components detected in this Storybook. resources/js — open Storybook No changed components detected in this Storybook. |
…sages-redesign # Conflicts: # CHANGELOG.md
|
This PR had conflicts with Claude's response
|
…sages-redesign # Conflicts: # CHANGELOG.md
|
This PR had conflicts with Claude's response
|
…sages-redesign # Conflicts: # CHANGELOG.md
|
This PR had conflicts with Claude's response
|
…sages-redesign # Conflicts: # CHANGELOG.md
|
This PR had conflicts with Claude's response
|
…sages-redesign # Conflicts: # CHANGELOG.md
|
This PR had conflicts with Claude's response
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Description
Redesigns the system messages utility a bit and opens them in slideouts instead of modals