Quantcast
Channel: Issues for Drupal core
Viewing all 292313 articles
Browse latest View live

Change $requirements["$file file writeable"] to $requirements["$file file writable"]

$
0
0

Problem/Motivation

We're standardising on writable over writeable so we need to change the requirement name in system_requirements().

See #2898947: Change "writeable" to "writable" in documentation

Proposed resolution

Change it.

Remaining tasks

User interface changes

None

API changes

Internal "API" change - the render array for requirements has a different key.

Data model changes

None

Release notes snippet


Meeting of the Bug Smash Initiative 2021-12-07

$
0
0

Agenda items

Standing items

  • Who is here
  • Any other suggested topics
  • Wins / Thanks / Blockers
  • Statistics and functionality update. X new bugs created in last two weeks. Y closed by the initiative.
  • The bug I would most like to see fixed
  • Update on target items from last meeting
  • What should be the initiative focus for the next 2 weeks?

Statistics

Statistics graph

0️⃣ Who is here today? Comment in the thread to introduce yourself. We’ll keep the meeting open for 24 hours to allow for all timezones.

Griffyn HeelsGriff, AU :wave:
quietoneHi
kimb0Hey there!
larowlanmoi :wave:
marcvangendYours truly :man-raising-hand:
Paulo Henrique Cota StarlingPaulo Henrique, Brazil!
dwwDerek, US, catching up late...
Kristen Pol (she/her)Kristen, California, catching up late too
lendudeLen, Amsterdam, very late to the party

0️⃣.5️⃣ What's your favourite Christmas song? (edited)

Griffyn HeelsMy favourite is Don't Shoot Me Santa by The Killers
quietoneDavid Bowie & Bing Crosby - Little Drummer Boy/Peace On Earth
larowlanhow to make gravy by paul kelly https://www.youtube.com/watch?v=iYqIF2XkqKU (edited)
darvanenDon't really have a favourite but this is fun:https://open.spotify.com/track/23odYnrpoTNoBUYQMtpB72?si=2cda4e37a3fe4eca
Kristen Pol (she/her)Hmm... not sure but used to sing all the classics as a kid... Rudolph, Jingle Bells, Frosty the Snowman, etc... I'm interested in listening to Griffyn's favorite as I like that band

1️⃣ Do you have suggested topics you are looking to discuss? Post in this thread and we’ll open threads for them as appropriate.

Griffyn HeelsFirst Bugsmash for '22
quietoneMake a policy recommendation for Bot usage on GitLab to aid issue management
Kristen Pol (she/her)Any events in 2022 that we might have a contribution event?

2️⃣.1️⃣ Wins - what wins have you had since the last meeting? Share your successes!

quietone#2975461: Convert query string to array for d6 menu_link migration

2️⃣.2️⃣ Thanks - a space for callouts to other contributors who’ve helped you

quietone@darvanen with GitLab
larowlangriff for picking up the triage of the day a lot of late
dww@quietone for dealing with meeting issues, notes, so many issues, #coding-standards, and much, much more. :thankful:

2️⃣.3️⃣ Blockers - what’s getting in the way of your issues / goals

larowlan$dayjob
darvanenSame, bit snowed at the moment. Might get into it a bit over the break, might not. January looks pretty full from here too :confused: (edited)
dww$dayjob, $holidays, death in partner's family + related fallout/drama, etc. I know this is basically all a volunteer effort and I shouldn't feel bad, but I do, anyway. Wish I had more time for this, since it's so important!
Kristen Pol (she/her)Pretty much the same... fortunately my big project should wrap up next week and I'll have more sponsored time (though hope to take some much needed rest over the holidays) (edited)
lendudeNot much getting in the way! Sprint is drying up a bit, usual end of year stuff, so got some contrib time ahead!

3️⃣ Core bug statistics - current state of open bugs

quietoneToday: 2021-12-07

From: 2021-11-23 to 2021-12-07

All bugs
Open: 40, including 9 fixed
Closed: 66
Age Count
00 27
01 10
02 10
03 05
04 09
05 03
06 01
07 01

Status Count
closed (duplicate) 23
closed (works as designed) 7
closed (cannot reproduce) 6
closed (outdated) 12
closed (fixed) 18

Approximately 152 yr reduction in total number of years of all open bugs.

Only bugs tagged Bug Smash Initiative
Open: 3, including 3 fixed
Closed: 29
Age Count
00 06
01 04
02 08
03 03
04 04
05 02
06 01
07 01

Status Count
closed (duplicate) 9
closed (works as designed) 4
closed (cannot reproduce) 3
closed (outdated) 9
closed (fixed) 4

Approximately 88 yr reduction in total number of years of all open bugs.

quietoneI need to update the script to add issues for 10 and remove 8

4️⃣ Nominate your pet issue for a bug-smash target for the next fortnight

dwwHeh, I guess the :cricket: s in this thread means either a) folks are too busy for #bugsmash or b) don't really care about manually selecting targets. Seems I've once again over-engineered a solution to a problem that doesn't exist. :wink:
Kristen Pol (she/her)I think people are good about getting help in the channel so not sure this is necessary... especially given the random targets

5️⃣ Help me - Is there anything you could use a :hand: with?

dwwa. I'm not sure what else I can do to get an accessibility signoff on #3097907: Active toolbar tray has weak affordance and fails WCAG colour criteria -- we've tagged it for that, I've pinged the #accessibility channel a few times, etc. Would love to get that back to RTBC and committed someday.
dwwb. Would love help with triage and reviews in the update.module component.

6️⃣ Approve last fortnight's minutes

Griffyn HeelsHere are the minutes from the last meeting: #3249032: Meeting of the Bug Smash Initiative 2021-11-23
dwwBasically looks good. Thanks, y'all!However, there was some additional (relevant) discussion in thread 1️⃣ 0️⃣ (from after the 24 hour mark) to clarify some things. Not sure what the policy is/should be about this. Perhaps it doesn't matter and "no one" reads these issues and the minutes. But wondering if it's worth adding more to the notes for that thread?More generally, wondering if/how we should handle this in the future. Is it worth waiting a week or something before creating the minutes, to give all the threads time to completely quiet down before we save them?
dwwcc @quietone (only because you seem to be the one that "always" takes care of this task, not because you "should" have to deal with it). :wink:

7️⃣ "First Bugsmash for '22"

Griffyn HeelsI suggest that the next/first BS for '22 is the 18th of January - any issues with that?
darvanenNo issue here.
quietoneFine with me.
kimb0cool :sunglasses:
dwwIn the US, that'd fall on the evening of MLK day (1/17). Probably doesn't matter. But curious why wait so long into January before restarting meetings. Any problem with doing it the previous week? Jan 10/11? ¯\_(ツ)_/¯
Kristen Pol (she/her)Lots of people will be on holiday so seems fine to me
lendude18th sounds fine, if we want to fill up the time we can run triage sessions if time permits

8️⃣ @quietone "Make a policy recommendation for Bot usage on GitLab to aid issue management"

quietoneMore info from #gitlab https://drupal.slack.com/archives/CGKLP028K/p1638398635123900
quietoneI think we have agreement on 'a bot should not close issues'.
quietoneWhat else ?
quietoneThere is already an issue #2328093: Establish policies for external bots or tools that post or modify content on drupal.org
larowlanI'd like to see a freshness bot
larowlandrops in and says, things are quiet - is this issue still relevant etc
larowlanbut I think we could also write a bot to say 'you're missing the template'
larowlane.g. a bug without a steps to reproduce section
larowlanwe could also add one that sets RTBC issues back to NR if they are tagged with 'Needs {x}' where x is certain things like tests, screenshots, issue summary update, {x} manager review, performance testing, a11y testing, change record
quietoneWhen/how to define when things are quiet?
larowlanyeah
quietone1 year for a bug?
larowlanin an ideal world, much less
larowlanbut we have 6k of backlog to get through
quietoneA large backlog implies, to me, that 1 year is too short. It may make unwanted noise?
larowlanyeah it might need us to do some maths on how noisy it would be
darvanenStart ten years out, do $x (five?) days worth every day until you reach a lower limit like 3 months. (edited)
quietoneI too have thought about an incremental approach.It will impact less people to start and allow feedback on the message etc as it grows to impact more people.
quietoneI was thinking that the first group would be all in the long tail on the graph on https://lendude.gitlab.io/bug-smash-initiative/ which is 7years, then start reducing by 6 months.
darvanenIf we start at 7 years we'll still instantly "bot" nearly a thousand issues (edited)
darvanenOh wait, no that graph is by date opened, not last activity.
quietoneGood point. Doing a gross visual assessment the tail for last updated is at 6 years and is less than 10 pages of 50, so 500 issues, roughly.
dwwIf we do this at all, I like the idea of a phased approach so we don't ping too many issues all at once.
dwwI'm also not sure a "freshness" bot is all that useful, TBH. But I don't really know, and I don't want to stand in the way if people are inspired to try to make this work.
Kristen Pol (she/her)I like the freshness bot if it's not super chatty... starting with large gap first sounds good
Kristen Pol (she/her)YES PLEASE FOR THIS ONE!!! Especially if it's a bug without steps to reproduce https://drupal.slack.com/archives/C014QES6HSQ/p1638851650014200?thread_t...

Participants:

Griffyn Heels, quietone, Kristen Pol, larowlan, dww, darvanen, lendude, kim.pepper

Admin UIs on the front-end are difficult to theme

$
0
0

Problem/Motivation

It's important for administrative elements to maintain consistent elements and a visual language even if they are being presented to the user alongside the front-end of the site. For example the Toolbar and Edit modules.

Currently this is very difficult or impossible to do, the CSS loaded by the front-end theme affects the admin elements and theme functions are also passed through the front-end them. This produces an amazing amount of inconsistency depending on the theme and commonly breaks admin UIs that are display on the front-end.

The Overlay module worked around this by loading the admin UI inside of an iframe.

Proposed resolution

Remaining tasks

User interface changes

API changes

Research if the CKE off-canvas CSS reset could be optimized

$
0
0

Problem/Motivation

#3201820: Manually test that CKE 5 can be used in off-canvas added a CSS reset which makes CKEditor functional in off-canvas. It seems like the solution includes duplicating all CSS loaded on the page. This seems like a lot of work just for making CKEditor work in off-canvas.

Proposed resolution

Decide if we could duplicate only to a partial set of CSS.

Remaining tasks

User interface changes

API changes

Data model changes

Drupal to handle billions of records with table and search

$
0
0

Problem/Motivation

Currently, Drupal goes slow if working with billions of records. I have a application with has millions of records and view to display data in table format with exposed filter. After applying filters Drupal goes very very slow like it's dying.

Steps to reproduce

Add millions of records in database and use view to display as table then filter data using exposed filter and see Drupal takes lot of time to return millions of records

Proposed resolution

Drupal reporting should work RAD, to perform operations on billions of records within few seconds and show millions of records after applying filter.

Fragment link pointing to <textarea> should be redirected to CKEditor 5 instance when CKEditor 5 replaced that textarea

$
0
0

Problem/Motivation

See #2729663: Fragment link pointing to <textarea> should be redirected to CKEditor instance when CKEditor replaced that textarea. Same problem with CKEditor 5.

Steps to reproduce

Trigger a validation error on a text field using CKEditor 5 while Inline Form Errors is enabled.

Proposed resolution

Implement a solution similar to #2729663: Fragment link pointing to <textarea> should be redirected to CKEditor instance when CKEditor replaced that textarea.

When suggested to implement this upstream, the CKEditor developers reacted surprised: they've never seen this requested before. Since it's simple enough to implement and maintain on our side, the above seems fine.

Remaining tasks

  1. Port test coverage from \Drupal\Tests\ckeditor\FunctionalJavascript\CKEditorIntegrationTest::testFragmentLink().
  2. Port test coverage from \Drupal\Tests\inline_form_errors\FunctionalJavascript\FormErrorHandlerCKEditorTest().
  3. Add fix.

User interface changes

Fragment link navigation pointing to text fields using CKEditor 5 now works.

API changes

None.

Data model changes

None.

"Delete" should not be the default action on /admin/content

$
0
0

Problem/Motivation

The default action on /admin/content is "Delete selected content". It's really easy to push "Apply" button by mistake, thinking it will apply the filter, because of the button title, and because it's positioned at the bottom of the form, typically where people expect to look for submit buttons. (This actually happened to me today, and I've been using Drupal for 8 years.)

screen
Existing content operations in Drupal 8
Existing content operations in Drupal 7

Proposed resolution

  • Use the D7 sort order (#3)
  • Make the default action something safer (or make the default a no-op).
  • Change the "Apply" button back to "Update" (like D7), "Execute", or even something action specific ("Delete").

Proposed alternatives

Alternatives for order of operations. The first operation in a list is the default.

Alternative 1: D7-like

  • Publish content
  • Unpublish content
  • Promote content to front page
  • Remove content from front page
  • Make content sticky
  • Make content unsticky
  • Delete content
  • Save content

Variation: Unpublish as default, by swapping Publish and Unpublish. This has the same Cons. For consistency the other operation pairs should also be swapped.

Alternative 2: Safe default

  • - None -
  • Publish content
  • Unpublish content
  • Delete content
  • Save content
  • Promote content to front page
  • Remove content from front page
  • Make content sticky
  • Make content unsticky

Variation: Place Delete and Save at the bottom of the list as in D7.

Alternative 3: Safe first

  • Make content sticky
  • Make content unsticky
  • Promote content to front page
  • Remove content from front page
  • Publish content
  • Unpublish content
  • Delete content
  • Save content

Variation: Use Promote/Demote as first operation pair.

Remaining tasks

  • Implement the suggestion in Comment #75
  • Fix the failing tests: see Comment #72
  • Make follow-up to delete the Save content option

User interface changes

Yes!

API changes

N/A

Update to CKEditor5 v31.1.0

$
0
0

Problem/Motivation

Update to CKEditor5 v31.1.0 in core: https://github.com/ckeditor/ckeditor5/releases/tag/v31.1.0

Key changes we need (besides the many bugfixes we benefit from):

Proposed resolution

  1. core/package.json
  2. cd core
  3. yarn install
  4. yarn run vendor-update
  5. yarn run build:ckeditor5

Remaining tasks

User interface changes

None.

API changes

None.

Data model changes

None.

Release notes snippet

CKEditor 5 asset library updated to version 31.1.0.


Flexible scheme and URI for image derivatives

$
0
0

Problem/Motivation

The image style generation has been improved in #2027423: Make image style system flexible. Now a module can change the way image derivatives are generated. However, right now altering the derivative URI can be done by extending \Drupal\image\Entity\ImageStyle. This is a problem because the last module to override the image style class wins, and everyone else loses.

Proposed resolution

Allow modules to alter the image style derivative generated URI by implementing a new hook_image_style_uri_alter().

Remaining tasks

None.

User interface changes

None.

API changes

New hook hook_image_style_uri_alter().

Data model changes

None.

Beta phase evaluation

Reference: https://www.drupal.org/core/beta-changes
Issue categoryFeature because gives new, more flexible, ways for modules to handle the image derivatives generation.
Issue priorityNot critical because right now modules still can alter the image derivative generation the last win and all other lose.
DisruptionNo disruption.

Docblock of BaseFieldDefinition::setDisplayOptions still mentions setting type = hidden instead of region = hidden

Class "Drupal\Core\Utility\Error" not found in _drupal_error_handler_real()

$
0
0

Problem/Motivation

PHP 8.1 introduces many deprecation notices that would not appear previously. In my experience, it seems that hitting one of these notices (when thrown by a contrib module) generally causes a critical error coming from Core -- Error: Class "Drupal\Core\Utility\Error" not found in _drupal_error_handler_real() (line 63 of core/includes/errors.inc).. In such cases, the deprecation message is included in the stack trace:

The website encountered an unexpected error. Please try again later.
Error: Class "Drupal\Core\Utility\Error" not found in _drupal_error_handler_real() (line 63 of core/includes/errors.inc).

_drupal_error_handler_real(8192, 'Return type of Drupal\profile\Plugin\Field\ProfileEntityFieldItemList::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice', '/var/www/html/drupal/web/core/lib/Drupal/Core/TypedData/ComputedItemListTrait.php', 121) (Line: 346)
_drupal_error_handler(8192, 'Return type of Drupal\profile\Plugin\Field\ProfileEntityFieldItemList::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice', '/var/www/html/drupal/web/core/lib/Drupal/Core/TypedData/ComputedItemListTrait.php', 121) (Line: 571)
include('/var/www/html/drupal/web/core/includes/bootstrap.inc') (Line: 571)
Composer\Autoload\includeFile('/var/www/html/drupal/vendor/composer/../../web/core/lib/Drupal/Core/Utility/Error.php') (Line: 428)
Composer\Autoload\ClassLoader->loadClass('Drupal\Core\Utility\Error') (Line: 44)
Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber->on403(Object) (Line: 97)
Drupal\Core\EventSubscriber\ExceptionLoggingSubscriber->onException(Object, 'kernel.exception', Object)
call_user_func(Array, Object, 'kernel.exception', Object) (Line: 142)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.exception') (Line: 219)
Symfony\Component\HttpKernel\HttpKernel->handleThrowable(Object, Object, 1) (Line: 91)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 67)
Drupal\simple_oauth\HttpMiddleware\BasicAuthSwap->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 49)
Asm89\Stack\Cors->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Fixing/patching the deprecation seems to get rid of the notice, as well as this error handler error itself. The error handler error is problematic because it turns what should be a simple notice into a critical failure. I think that what must be happening is that the deprecation is somehow short-circuiting the autoloader or something.

Steps to reproduce

Trying to figure out simple steps to reproduce on a clean install. Not sure of a good way yet.

Proposed resolution

Unsure.

Remove the legacy assert traits

Update to Drupal 9.3.0 adding --2 suffix to (views-) block-ID's

$
0
0

Problem/Motivation

Updates from Drupal 9.2.10 to Drupal 9.3.0 are adding an --2 suffix to block-ID's (maybe only views-block-ID's?). For example block-views-block-newsslider-block-1 changes to block-views-block-newsslider-block-1--2, causing all JS an CSS selectors applied to the specific IDs not to work anymore and breaking the design of the website. This happens at least to allblock-views-block-Elements of the affected websites.

This happend with different websites and different base themes (Classy, Bootstrap 3).

Setup:

Setup

Steps to reproduce

Update from Drupal 9.2.10 to Drupal 9.3.0

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

[PHP 8.1] Fibers

install_config_revert_install_changes declares $install_state twice

$
0
0

Problem/Motivation

install_config_revert_install_changes declares global $install_state twice, once at the start of the function and again in a catch block

Steps to reproduce

Proposed resolution

Remove the second one

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


Voiceover + Safari reads aria-describedby twice when focusing toolbar button

$
0
0

Problem/Motivation

There is an aria-describedby that provides instructions regarding available keyboard commands when focusing a listbox item representing a CKEditor 5 button. The contents of aria-describedby are read twice

Steps to reproduce

Proposed resolution

Remove aria-describedby altogether and make the keyboard command instructions part of the visually hidden option contents. The text within a listbox option is read by AT already and it has role="option" so it doesn't need to be ARIA labeled/described - it just needs content conveyed to AT.

Remaining tasks

User interface changes

API changes

Data model changes

module works different in php 7.4 than in php 8.0

$
0
0

Hello, i have recently updated my php to 8.0 and realized a exposed filter changed how it works.

I'm using better exposed filters over the views, but i traced the issue to the views module.

When i have a boolean operator filter, and better exposed filter module assigns a default value of 0 (false), the "acceptExposedInput" method in Drupal\views\Plugin\views\filter\FilterPluginBase behaves differently.
At line 1507 of FilterPluginBase.php there is this condition, which evaluates to true (0=='string') in php7.4 and to false in php 8.0.

          if ($value == 'All' || $value === []) {
            return FALSE;
          }

Also lines 111, 112 and 113 at Drupal\views\Plugin\views\filter\BooleanOperator look redundant to me.

Kind regards and many thanks for your awesome work.

PHPStan error LinkItemTest

$
0
0

Problem/Motivation

From issue #3178534: Start running PHPStan on Drupal core (level 0): Start running PHPStan on Drupal core (level 0)

     Internal error: Internal error: Cannot assign an empty string to a string offset in file /app/core/modules/link/tests/src/Kernel/LinkItemTest.php                                                                
     Run PHPStan with --debug option and post the stack trace to:                                                                                                                                                     
     https://github.com/phpstan/phpstan/issues/new?template=Bug_report.md     

Steps to reproduce

Proposed resolution

Probably this should be checked explicitly that this is not a string.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

AccessAwareRouter does not respect HTTP method

$
0
0

If we go to node view we receive non catchable MethodNotAllowedException.
Step to reproduce:
1. Install module rest.
2. Install module language.
3. Install module page_manager(Seams that this step can be excluded).
4. Create some language.
5. go to /admin/config/regional/language/detection and check Account administration pages.
6. Go to user edit page and set some language in "Administration pages language".
7. Go to node view.

You will receive:

Symfony\Component\Routing\Exception\MethodNotAllowedException: in Symfony\Component\Routing\Matcher\UrlMatcher->match() (line 97 of vendor/symfony/routing/Matcher/UrlMatcher.php).

Drupal\Core\Routing\UrlMatcher->finalMatch(Object, Object) (Line: 152)
Symfony\Cmf\Component\Routing\NestedMatcher\NestedMatcher->matchRequest(Object) (Line: 258)
Symfony\Cmf\Component\Routing\DynamicRouter->matchRequest(Object) (Line: 185)
Symfony\Cmf\Component\Routing\ChainRouter->doMatch('/node/212', Object) (Line: 155)
Symfony\Cmf\Component\Routing\ChainRouter->matchRequest(Object) (Line: 89)
Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object) (Line: 138)
Drupal\Core\Routing\AccessAwareRouter->match('/node/212') (Line: 139)
Drupal\user\Plugin\LanguageNegotiation\LanguageNegotiationUserAdmin->isAdminPath(Object) (Line: 109)
Drupal\user\Plugin\LanguageNegotiation\LanguageNegotiationUserAdmin->getLangcode(Object) (Line: 191)
Drupal\language\LanguageNegotiator->negotiateLanguage('language_interface', 'language-user-admin') (Line: 136)
Drupal\language\LanguageNegotiator->initializeType('language_interface') (Line: 223)
Drupal\language\ConfigurableLanguageManager->getCurrentLanguage() (Line: 84)
Drupal\language\EventSubscriber\LanguageRequestSubscriber->onKernelRequestLanguage(Object, 'kernel.request', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.request', Object) (Line: 120)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 103)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 632)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Support ckeditor_stylesheets setting in theme info, allow CSS to work for both CKEditor 4 and 5

$
0
0

Problem/Motivation

The ckeditor_stylesheets property in a theme's info.yml makes it possible to CKEditor contents with CSS from the front-end theme. More info on ckeditor_stylesheets use here.

This also needs to be supported in the CKEditor 5 module, and in a way that applies the styles from ckeditor_stylesheets only to CKEditor, not the full page.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Viewing all 292313 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>