Add validation constraints to core.date_format.*
Problem/MotivationDate formats have 2 property paths that are not yet validatable:./vendor/bin/drush config:inspect --filter-keys=core.date_format.html_date --detail --list-constraints...
View ArticleAllow process plugins to stop further processing on a pipeline
Problem/MotivationThe MigrateSkipProcessException causes the processed value is set to NULL, no more plugins are used and the the value is not migrated. See...
View ArticleMigrationPluginManager::ExpandPluginIds can lose derivative plugins under...
Problem/MotivationMigrationPluginManager::expandPluginIds() looks like this: protected function expandPluginIds(array $migration_ids) { /** * {@inheritdoc} */ public function expandPluginIds(array...
View ArticleSupport MySQL GIPK mode
Problem/MotivationMySQL 8 has a sql_generate_invisible_primary_key (GIPK) mode which, if enabled, creates an invisible primary key for tables that do not have one. If a Drupal module later calls the...
View ArticleMake Twig debug comments optional for empty markup.
Problem/MotivationWhen twig debug is enabled, Twig engine does not care whether a rendered template has any output or not. Even for an empty markup (an empty string "") it still adds all the comments...
View ArticleAllow to JS-filter blocks in regions on the block layout administration page
Problem/MotivationUsing many blocks on the block layout administration page (/admin/structure/block) on large sites makes administration very hard.As the module list for example already implements a...
View ArticleFix not rendered selection checkbox for Media library modal field widget does...
Problem/MotivationUsing the Media entity as an entity reference field on a content type, when searching for a media item, sometimes the checkbox to choose a result does not appear. It sometimes seems...
View ArticleDrop-button items get truncated if they are longer than the button main...
Problem/MotivationSee screenshot, taken in Module Builder:Because the primary action in the dropbutton, 'Save' is considerably shorter than 'Save and generate code', the latter gets truncated.Steps to...
View ArticleRemove phpstan ignore "#^Missing cache backend declaration for...
Problem/MotivationWith the release of mglaman/phpstan-drupal 1.1.37 (https://github.com/mglaman/phpstan-drupal/releases/tag/1.1.37) the false positives on "Missing cache backend declaration for...
View ArticleReplaced unspecific mixed datatype in PluginBase.php class
The data type of the $plugin_definition constructor parameter is array. However, it is defined in the PHPDoc block as "mixed". That's unspecific and does not help any developer. Also this is deprecated...
View ArticleFix dependencies of taxonomy term translation migrations
Problem/MotivationThe taxonomy translation migrations do not depend on the migrations that set the language content settings for taxonomy.This was discovered while testing #3015369: Fix...
View Article400 exceptions result from requests for old asset paths which are missing the...
Problem/MotivationAfter an upgrade to 10.1.x, a request to any non-existent theme asset will trigger an Exception with a 400 error.Symfony\Component\HttpKernel\Exception\BadRequestHttpException: The...
View ArticleEntity autocomplete form element ignores entities with label "0"
Problem/MotivationIt is possible to create an entity with label "0". However, this entity will be ignored by the entity autocomplete form element.Steps to reproduceCreate a new term with name "0". Take...
View ArticleConvert enable/disable to install/uninstall in hook_help()
Problem/MotivationEnable and disable is used for modules in hook_help instead of install and uninstall.Steps to reproduceI used this to find .module files to check.find core -not -path "*/tests/*"...
View ArticleUse PHP attributes instead of doctrine annotations
Problem/MotivationWe use Doctrine's annotations to add metadata to our plugin classes. For example, Blocks use annotations to set the block ID and admin label. We would like to remove our dependency on...
View ArticleModerationFormTest should use API to set up language
Problem/MotivationModerationFormTest uses a form submission to create a language and change language settings. This is expensive, and not what the test is covering. Steps to reproduceProposed...
View Articlepath.alias_repository service does not use a proper language fallback mechanism
Problem/MotivationFollowing is the current language fallback logic used in the path.alias_repository service: // Always get the language-specific alias before the language-neutral one. // For example...
View ArticlePrevent the use of placeholders that cannot be converted into strings when...
Problem/MotivationIf a module logs an error and one of the context are not convertible into a string, dblog the page crashes with an exception. To recover from this issue I have first truncated the...
View ArticlePlaceholder tags (placeholder_token), break HTML if propely closed...
Problem/MotivationPlacheholder tags break layout if they are properly closed according to: https://dev.w3.org/html5/html-author/#tagsSelf-closing tags should not require the "/" before the closing...
View ArticleLanguage negotiators weights can not be changed in settings.php
Problem/MotivationLanguage negotiation methods are not loaded in the order defined in configuration, rather they are loaded in the order they were added. As a result, the language is detected before...
View Article