Needs review
Project:
Markdown
Version:
3.0.x-dev
Component:
Miscellaneous
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
27 Aug 2024 at 18:36 UTC
Updated:
24 Mar 2025 at 15:14 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
jasonawantI think this particular error is a result of config schema validation by Durpal core's ValidKeysConstraint, see change record https://www.drupal.org/node/3324853
I think the solution to this issue could be along the lines of the following:
1. Refine the Markdown filter plugin form and configuration to remove vertical_tabs from the saved form_state
I think when saving the filter without Markdown enabled, vertical_tabs is left in the form_state and it is being saved with the markdown filter settings; however, vertical_tabs is not a key defined with the filter_settings.markdown schema.
2. Further define the schema for the markdown filter settings
Here's how Drupal core's filter_html schema is defined here
Compared to the markdown filter schema here
Comment #3
d0t15t commentedThis patch prevents that `vertical_tabs` is added to the form state when the Markdown-filter is not enabled, which only addresses the first issue that @jasonawant suggests, but it's enough to prevent the error.
Comment #4
jitendrapurohit commentedI was still getting errors like
Fixed by the patch attached.
Comment #5
jitendrapurohit commentedComment #8
malcomio commentedSetting to "needs review", given that there are patches attached.
Have created a merge request based on the combination of the patches, although I'm not entirely convinced by the return statements inside the catch blocks.
I haven't been able to reproduce this, but wanted to see if this would address #3463119: Error when saving text format - configuration property id doesn't exist.
Comment #10
megachrizI experience this issue when I haven't any markdown libraries installed. When I have the library "league/commonmark:^1.6" installed, I experience #3463119: Error when saving text format - configuration property id doesn't exist instead.
I've implemented a different approach in 3470570-remove-non-config-keys-from-form-state, because I'm not sure if it is correct that ParserConfigurationForm should be assumed to only be used in Filter form context. So instead, I tried to fix it within the FilterMarkdown class.
Also added test coverage that originally was meant for #3463119: Error when saving text format - configuration property id doesn't exist, but that test passes with the provided fix here as long as "league/commonmark" is not installed, apparently.