Improve query and cache API so that render() doesn't have to be called...
Problem/MotivationThe node module has very old code to add a cache context for the current user's node access grants inside a query alter.This was added in #2557815: Automatically bubble the...
View ArticleUse the user display name instead of the username on the user authoring...
Problem/MotivationWhen editing a node, the authoring information displays the user account name, the display name should be used instead.Steps to reproduceIn an installation with some module that...
View ArticleBroken display in a hierachical taxonomy without the edit permission
Problem/MotivationThe terms overview page is broken when the vocabulary has a hierarchy + current user has no permission to edit terms in this vocabulary. The attached screenshots show the issue.Steps...
View ArticleSupport option of reverting to config as provided when (re)applying a recipe
Problem/MotivationWhen reapplying a recipe, the most desirable result will likely be #3307646: Merge in config updates when (re)applying a recipe. However, there will still be a use case for reverting...
View ArticleFatal error "getCacheTags() on null" on admin/content Views page
Problem/Motivation/admin/content view is not working - fatal error.Dblog reports 3 different errors:Error: Call to a member function getCacheTags() on null in...
View Article[random test failure]...
Problem/MotivationDiscovered at #3316274-74: Stabilize FunctionalJavascript testing AJAX: add ::assertExpectedAjaxRequest().1)...
View ArticleRemove duplicate 📔 Spell-checking job
Problem/MotivationThe 📔 Spell-checking job is defined twice in .gitlab-ci.ymlSteps to reproduce$ grep '📔 Spell-checking':" .gitlab-ci.yml '📔 Spell-checking': '📔 Spell-checking': Proposed...
View ArticleUnify & simplify render & theme system: component-based rendering...
Problem/MotivationDrupal's render & theme system are too complex to use. Let's improve this.GoalsImprove the TX by un-WTF-ifying the theme and render system, which is currently a maze of:...
View ArticleFileSystem::tempnam() doesn't respect subdirectories for stream wrappers
Problem/MotivationWhen a stream wrapper path (e.g. private://some-path, temporary://some-path, etc) is passed as the $directory parameter toFileSystem::tempnam() (or drupal_tempnam() in D7), the unique...
View ArticleAdmin Toolbar Dropdown Icon Missing Functionality on Content Page
Problem/MotivationThe admin toolbar dropdown icon (indicated in the screenshot) on the content page does not appear to function as expected. Users are unable to access additional options or features...
View ArticleAdd dblog-specific permissions to control access to dblog routes
Problem/MotivationWhile creating reports for some of the users on one of the sites I'm currently working on, I realized that they should be reachable from the Reports menu, not the Content menu, which...
View ArticleResolve @todo in OffCanvasTestBase::assertAllContextualLinksLoaded
Problem/Motivation\Drupal\Tests\system\FunctionalJavascript\OffCanvasTestBase::assertAllContextualLinksLoaded has the following comment:@todo Move this function to...
View ArticleFileSystem::tempnam() should use realpath() instead of getDirectoryPath()
Problem/MotivationSpin off from #833734: $stream_wrapper->getDirectoryPath() is used all over core, but is not defined in StreamWrapperInterface we identified we should be using realpath() in...
View Article$stream_wrapper->getDirectoryPath() is used all over core, but is not...
drupal_tempnam() and file_directory_path() calls $wrapper->getDirectoryPath(), but that method isn't defined in the DrupalStreamWrapperInterface interface but only in the DrupalLocalStreamWrapper...
View ArticleUpgrade asm89/stack-cors to prevent loss of Vary header values
Problem/MotivationThe upstream CORS middlware dependency, asm89/stack-cors has released a fix for a bug that can result in certain Vary header values being removed in error.Proposed resolutionPin...
View ArticlePhpUnit make test results more developer friendly
One thing I am always missing when running tests through command line is finding HTML output file by URL of HTTP request logged in it. I propose adding a meaningful label above each reference on HTML...
View ArticleConsider showing all revisions on the revision overview
Problem/Motivation#2713587: NodeController::revisionOverview() shows no revisions if node has no translation for current language brought up again that we have a conflict between trying to show only...
View ArticleRestrict who can "Rebuild permissions" to users with the...
Problem/MotivationGiven the need of the Node Access Rebuild Progressive module existing, you might not want any users with access to content editing all node content (e.g. normal mid-level content...
View ArticleAccess cacheability is not correct when "view own unpublished...
Problem/MotivationAccess cacheability is not correct when the "view own unpublished content" is in use, leading to improperly cached render arrays.Steps to reproduce(See even more minimalist...
View ArticleOnly set #group is status field exists in NodeForm
Problem/MotivationIn core/modules/node/src/NodeForm.php$form['status']['#group'] = 'footer'; That has been introduced in: #2068063: Change "Save and keep un-/published" buttons to a "Published"...
View Article