Brisbane!
Account created on 5 November 2014, about 10 years ago
#

Merge Requests

More

Recent comments

🇦🇺Australia jannakha Brisbane!

Changes look good.
Tested.
Ready for release.

Thanks for your contribution!

🇦🇺Australia jannakha Brisbane!

- error goes away after "Term Merge" module is enabled
- cleaned up taxonomy manager merge library

🇦🇺Australia jannakha Brisbane!

Please don't put multiple issues into a same ticket - it makes it hard to test and review:
- new permissions structure
- add pagination on 'admin/structure/taxonomy_manager/voc' page

When status of ticket goes into "needs review" please provide screenshots and pages to be reviewed

🇦🇺Australia jannakha Brisbane!

see comments on MR

basically:
config has Editor has create permissions:

Running debug shows different values for different ways of testing permissions:

$taxonomy_vocabulary->access('create') is buggy
see https://www.drupal.org/project/drupal/issues/2886800 🐛 EntityAccessControlHandler::createAccess() and EntityAccessControlHandler::access() return false positive cache hits because it ignores context Needs work

🇦🇺Australia jannakha Brisbane!

- added extra library to JS from CDN
- requires https://www.drupal.org/project/taxonomy_manager/issues/3046752 🐛 AJAX error when editing term content Postponed: needs info patch #31 (MR49) to work correctly (which includes https://www.drupal.org/project/taxonomy_manager/issues/3474919 🐛 Form element taxonomy_manager_tree broken RTBC )

🇦🇺Australia jannakha Brisbane!

https://www.drupal.org/project/taxonomy_manager/issues/3046752 🐛 AJAX error when editing term content Postponed: needs info is required for any ajax requests to work

🇦🇺Australia jannakha Brisbane!

created a patch from MR (it's merged with #3474919)
make sure library/jquery.fancytree contains all JS - see #3467549 Change require custom libraries to suggestions as a better method with more options Needs work

🇦🇺Australia jannakha Brisbane!

jannakha made their first commit to this issue’s fork.

🇦🇺Australia jannakha Brisbane!

tested MR2 - issue is fixed.

thanks for your work!

🇦🇺Australia jannakha Brisbane!

check your config has been updated by re-running block_class_update_20017()
this update transformed config from string to json and if your config is old block_class will keep crashing

🇦🇺Australia jannakha Brisbane!

+1 for patch #13 works on 10.3.10

thanks for the patch!

🇦🇺Australia jannakha Brisbane!

can someone review?
it'll be nice to get a release with this feature

🇦🇺Australia jannakha Brisbane!

just for future, let's not scope creep issues: add to wish list is totally independent from add to cart AJAX and could've been its own MR

@anas_maw - can you expand on your comments on your patch? what should be done with it?
@luksak can you please add documentation about "Add to wish list" to readme.md?

🇦🇺Australia jannakha Brisbane!

MR8 is ready for review

🇦🇺Australia jannakha Brisbane!

+1 for #10 comment

🇦🇺Australia jannakha Brisbane!

@smustgrave can you comment in GitLab on the line corresponding to your comment?

🇦🇺Australia jannakha Brisbane!

new maintainer is on the project.

stay tuned for new releases!

🇦🇺Australia jannakha Brisbane!

thank you for your contribution!
patch applies, issue is fixed.

RTBC

🇦🇺Australia jannakha Brisbane!

If exception is to be thrown, consider:
where the exception should be thrown:
- at DB level
- at config level
- at entity level
- at routing level

where exception should be handled:
- at config level
- at entity level
- at routing level
- at request processing level

In the end, exception would be visible to the client as 404 (as route is not found)

🇦🇺Australia jannakha Brisbane!

@stefan.korn - thanks for your work!

Before patch application:

After patch application:

Tasks to do:

#1

Add description_display variable to twig comment (like in stable9):

 * Available variables:
 * - attributes: HTML attributes for the fieldset element.
 * - description_display: Description display setting. It can have these values:
 *   - before: The description is output before the element.
 *   - after: The description is output after the element (default).
 *   - invisible: The description is output after the element, hidden visually
 *     but available to screen readers.

#2

Looks like this issue exists in the core as well (templates are being created from StarterKit theme)
Create an issue for Starterkit theme .

🇦🇺Australia jannakha Brisbane!

MR !72 is merging into 4.0.x?
Are you seeking D11 support for v3 or v4 (is D11 compatible already)

Please resolve conflicts or update MR to merge to appropriate branch

🇦🇺Australia jannakha Brisbane!

@stefan.korn thanks for your contribution!

After application of patch:
+ HTML has required classes:

+ removed margin on description:
before:

after:

Unfortunately, css/components is a volatile folder and can be overwritten by updates coming from web/core/themes/starterkit_theme/css/components (see Starterkit theme - Tracking upstream changes )

Please make update to scss in web/themes/contrib/bootstrap5/scss/drupal/_forms.scss

🇦🇺Australia jannakha Brisbane!

Here's screenshots of the patch application:

Media - modal - mobile

- Grid on mobile requires appropriate spacing:

Media - modal

+ Edit/delete buttons are visible and keyboard accessible
+ Card style is applied
- Media card layout requires further fixes (alignment/spacing):

Media - table

No changes on the table layout:

Media - grid

+ card style applied
- spacing/alignment not applied

Media - Widget

+ Delete button is visible
- Visible outline is missing when buttons is in focus

🇦🇺Australia jannakha Brisbane!

added screenshots of media screens which need fixes

🇦🇺Australia jannakha Brisbane!

patch of MR9542 @ 265e30ba9c9e65396211044895ec0c1e50c52449 for temporary fix

🇦🇺Australia jannakha Brisbane!

@stefan.korn
can you please provide screenshots before/after of the MR, and Claro example you've described in the issue.
This will make it easier and faster to confirm the issue and review solution.

thank you!

🇦🇺Australia jannakha Brisbane!

before I start writing tests - please review/comment/provide suggestions to the solution - MR!9544
Thanks!

🇦🇺Australia jannakha Brisbane!

so I've added the exception at Drupal\Core\Config\DatabaseStorage->readMultiple() level, but it's not being caught anywhere in the stack and each stack trace is different for different config types (see below).

Please advise/recommend where/how exception should be thrown/caught.

IMHO handling it on Drupal\Core\Config\DatabaseStorage->readMultiple() without additional exceptions is sufficient as it's such an edge case which is used for exploitation/attack only (there's already check for if (empty($names)) which doesn't throw any exceptions).

Here's a stack trace for: /node/add/тест

The website encountered an unexpected error. Try again later.

InvalidArgumentException: The array contains invalid values. in Drupal\Core\Config\DatabaseStorage->readMultiple() (line 116 of core/lib/Drupal/Core/Config/DatabaseStorage.php).
Drupal\Core\Config\CachedStorage->readMultiple(Array) (Line: 165)
Drupal\Core\Config\ConfigFactory->doLoadMultiple(Array) (Line: 136)
Drupal\Core\Config\ConfigFactory->loadMultiple(Array) (Line: 181)
Drupal\Core\Config\Entity\ConfigEntityStorage->doLoadMultiple(Array) (Line: 312)
Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) (Line: 183)
Drupal\Core\Entity\EntityRepository->getCanonicalMultiple('node_type', Array, Array) (Line: 175)
Drupal\Core\Entity\EntityRepository->getCanonical('node_type', 'тест', Array) (Line: 134)
Drupal\Core\ParamConverter\EntityConverter->convert('тест', Array, 'node_type', Array) (Line: 100)
Drupal\Core\ParamConverter\ParamConverterManager->convert(Array) (Line: 45)
Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance(Array, Object) (Line: 270)
Drupal\Core\Routing\Router->applyRouteEnhancers(Array, Object) (Line: 150)
Drupal\Core\Routing\Router->matchRequest(Object) (Line: 90)
Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object) (Line: 105)
Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object, 'kernel.request', Object)
call_user_func(Array, Object, 'kernel.request', Object) (Line: 111)

here's a stack for: /admin/structure/views/view/тест

The website encountered an unexpected error. Try again later.

InvalidArgumentException: The array contains invalid values. in Drupal\Core\Config\DatabaseStorage->readMultiple() (line 116 of core/lib/Drupal/Core/Config/DatabaseStorage.php).
Drupal\Core\Config\CachedStorage->readMultiple(Array) (Line: 165)
Drupal\Core\Config\ConfigFactory->doLoadMultiple(Array) (Line: 136)
Drupal\Core\Config\ConfigFactory->loadMultiple(Array) (Line: 181)
Drupal\Core\Config\Entity\ConfigEntityStorage->doLoadMultiple(Array) (Line: 312)
Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) (Line: 487)
Drupal\Core\Config\Entity\ConfigEntityStorage->loadMultipleOverrideFree(Array) (Line: 478)
Drupal\Core\Config\Entity\ConfigEntityStorage->loadOverrideFree('тест') (Line: 80)
Drupal\Core\ParamConverter\AdminPathConfigEntityConverter->convert('тест', Array, 'view', Array) (Line: 64)
Drupal\views_ui\ParamConverter\ViewUIConverter->convert('тест', Array, 'view', Array) (Line: 100)
Drupal\Core\ParamConverter\ParamConverterManager->convert(Array) (Line: 45)
Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance(Array, Object) (Line: 270)
Drupal\Core\Routing\Router->applyRouteEnhancers(Array, Object) (Line: 150)
Drupal\Core\Routing\Router->matchRequest(Object) (Line: 90)
Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object) (Line: 105)
Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object, 'kernel.request', Object)
call_user_func(Array, Object, 'kernel.request', Object) (Line: 111)

Here's stack trace for a contrib module: /webform/тест:

The website encountered an unexpected error. Try again later.

InvalidArgumentException: The array contains invalid values. in Drupal\Core\Config\DatabaseStorage->readMultiple() (line 116 of core/lib/Drupal/Core/Config/DatabaseStorage.php).
Drupal\Core\Config\CachedStorage->readMultiple(Array) (Line: 165)
Drupal\Core\Config\ConfigFactory->doLoadMultiple(Array) (Line: 136)
Drupal\Core\Config\ConfigFactory->loadMultiple(Array) (Line: 181)
Drupal\Core\Config\Entity\ConfigEntityStorage->doLoadMultiple(Array) (Line: 312)
Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) (Line: 183)
Drupal\Core\Entity\EntityRepository->getCanonicalMultiple('webform', Array, Array) (Line: 175)
Drupal\Core\Entity\EntityRepository->getCanonical('webform', 'тест', Array) (Line: 134)
Drupal\Core\ParamConverter\EntityConverter->convert('тест', Array, 'webform', Array) (Line: 100)
Drupal\Core\ParamConverter\ParamConverterManager->convert(Array) (Line: 45)
Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance(Array, Object) (Line: 270)
Drupal\Core\Routing\Router->applyRouteEnhancers(Array, Object) (Line: 150)
Drupal\Core\Routing\Router->matchRequest(Object) (Line: 90)
Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object) (Line: 105)
Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object, 'kernel.request', Object)
call_user_func(Array, Object, 'kernel.request', Object) (Line: 111)
🇦🇺Australia jannakha Brisbane!

@cilefen
Re: "caller's responsibility to filter input" - it's a lookup into config database which doesn't validate non-ascii input, there are levels of abstractions between config object and node/webform/view/or other caller which will make it quite hard to validate it on per-caller basis.

* there's a case-by-case fix which doesn't fix much: https://www.drupal.org/project/drupal/issues/3457963 🐛 Validate view_name in ajaxView() Needs work

It was discovered during a pen test and flagged as a potential security issue since:
- This leads to unnecessary hits of database which can lead to server outage.
- The error message is not handled and white screen of death is displayed.

examples:
https://events.drupal.org/node/add/тест
https://www.cyber.gov.au/node/add/тест

Stack trace of node/add/{node_type} and each other config has its own trace:

#0 /web/core/lib/Drupal/Core/Database/Connection.php(883): Drupal\mysql\Driver\Database\mysql\ExceptionHandler->handleExecutionException(Object(PDOException), Object(Drupal\Core\Database\StatementWrapperIterator), Array, Array)
#1 /web/core/lib/Drupal/Core/Config/DatabaseStorage.php(119): Drupal\Core\Database\Connection->query('SELECT [name], ...', Array, Array)
#2 /web/core/lib/Drupal/Core/Config/CachedStorage.php(95): Drupal\Core\Config\DatabaseStorage->readMultiple(Array)
#3 /web/core/lib/Drupal/Core/Config/ConfigFactory.php(165): Drupal\Core\Config\CachedStorage->readMultiple(Array)
#4 /web/core/lib/Drupal/Core/Config/ConfigFactory.php(136): Drupal\Core\Config\ConfigFactory->doLoadMultiple(Array)
#5 /web/core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php(181): Drupal\Core\Config\ConfigFactory->loadMultiple(Array)
#6 /web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(312): Drupal\Core\Config\Entity\ConfigEntityStorage->doLoadMultiple(Array)
#7 /web/core/lib/Drupal/Core/Entity/EntityRepository.php(183): Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array)
#8 /web/core/lib/Drupal/Core/Entity/EntityRepository.php(175): Drupal\Core\Entity\EntityRepository->getCanonicalMultiple('node_type', Array, Array)
#9 /web/core/lib/Drupal/Core/ParamConverter/EntityConverter.php(134): Drupal\Core\Entity\EntityRepository->getCanonical('node_type', '\xD0\xB4\xD1\x8B\xD0\xBB\xD0\xB2\xD0\xBE\xD0\xB0\xD0\xB4\xD1...', Array)
#10 /web/core/lib/Drupal/Core/ParamConverter/ParamConverterManager.php(100): Drupal\Core\ParamConverter\EntityConverter->convert('\xD0\xB4\xD1\x8B\xD0\xBB\xD0\xB2\xD0\xBE\xD0\xB0\xD0\xB4\xD1...', Array, 'node_type', Array)
#11 /web/core/lib/Drupal/Core/Routing/Enhancer/ParamConversionEnhancer.php(45): Drupal\Core\ParamConverter\ParamConverterManager->convert(Array)
#12 /web/core/lib/Drupal/Core/Routing/Router.php(270): Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance(Array, Object(Symfony\Component\HttpFoundation\Request))
#13 /web/core/lib/Drupal/Core/Routing/Router.php(150): Drupal\Core\Routing\Router->applyRouteEnhancers(Array, Object(Symfony\Component\HttpFoundation\Request))
#14 /web/core/lib/Drupal/Core/Routing/AccessAwareRouter.php(90): Drupal\Core\Routing\Router->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#15 /vendor/symfony/http-kernel/EventListener/RouterListener.php(105): Drupal\Core\Routing\AccessAwareRouter->matchRequest(Object(Symfony\Component\HttpFoundation\Request))
#16 [internal function]: Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
🇦🇺Australia jannakha Brisbane!

here's a solution to the underlying problem (which also solves #14)

https://www.drupal.org/project/drupal/issues/3475540 📌 Throw an understandable exception when there is an attempt to load config entities with disallowed characters Needs work

🇦🇺Australia jannakha Brisbane!

before I start writing tests - please review/comment/provide suggestions to the solution!
Thanks!

🇦🇺Australia jannakha Brisbane!

jannakha changed the visibility of the branch 3475540-unhandled-exception-ascii to hidden.

🇦🇺Australia jannakha Brisbane!

patch #4 tested and running in D11

Thanks bot!

🇦🇺Australia jannakha Brisbane!

CI is running!
thanks for your contribution

🇦🇺Australia jannakha Brisbane!

any movement on this issue?
any replies from the original maintainers?

🇦🇺Australia jannakha Brisbane!

tested, works as expected.
thanks for your contribution.

🇦🇺Australia jannakha Brisbane!

thanks for the fix

🇦🇺Australia jannakha Brisbane!

is this issue moving anywhere?
there were so many offers to co-maintain but no action?

🇦🇺Australia jannakha Brisbane!

is that the same issue as https://www.drupal.org/project/inline_responsive_images/issues/3458794 🐛 unable to choose image style after download RTBC ?

🇦🇺Australia jannakha Brisbane!

installed and tested.

thanks for your contribution!

🇦🇺Australia jannakha Brisbane!

@flyke - can you please create an issue fork with your fix for D10.3?

to get this RTBC from core team these things are required:
- fix for D11 (as this issue's version is 11.x-dev)
- add tests

🇦🇺Australia jannakha Brisbane!

installed, tested, it works on D11!
RTBC +1
thanks for your contribution!

🇦🇺Australia jannakha Brisbane!

installed, tested, works.
thanks for your contribution!

🇦🇺Australia jannakha Brisbane!

installed, tested, fixed!
thanks for your contribution.
RTBC.

🇦🇺Australia jannakha Brisbane!

php stan is fixed!

🇦🇺Australia jannakha Brisbane!

Patch #90 works on 10.3

Filter config:

SQL query without patch:

AND ("node__field_part_product"."field_part_product_value" = '0'))

SQL query with patch:

AND (("node__field_part_product"."field_part_product_value" = '0') OR ("node__field_part_product"."field_part_product_value" IS NULL)))

what has to be done to push this issue further?
it's a long term issue and still hasn't been committed to core!

🇦🇺Australia jannakha Brisbane!

patch applied, error is fixed.
please release!

Thank you for your contribution.

🇦🇺Australia jannakha Brisbane!

updb didn't run properly update hook block_class_update_20017() which updates config structure

🇦🇺Australia jannakha Brisbane!

MR#12 doesn't work in my case where configuration is not stored as expected:

bloc_class_settings.yml contains:
block_classes_stored: '{"social-icons-inline":"social-icons-inline","container":"container","block-below":"block-below","popup-services-browser":"popup-services-browser","popup-buildings-browser":"popup-buildings-browser","pull-right":"pull-right","block-blog-tags":"block-blog-tags","block-banner-banner":"block-banner-banner","block-solutions-back-button":"block-solutions-back-button","col-md-6":"col-md-6","col-lg-60":"col-lg-60","clear-xs":"clear-xs","clear-sm":"clear-sm","floating-links-2":"floating-links-2","padding-large-md-right":"padding-large-md-right","padding-none-xs-right":"padding-none-xs-right","padding-none-xs-left":"padding-none-xs-left","block-small-margin":"block-small-margin","search-form-block":"search-form-block","col-xs-5":"col-xs-5","col-sm-3":"col-sm-3","col-lg-20":"col-lg-20","padding-lg-right":"padding-lg-right","view-keyword-search-filters":"view-keyword-search-filters","block-covid-19-message":"block-covid-19-message","block-front-cta":"block-front-cta","col-sm-5":"col-sm-5","col-md-4":"col-md-4","block-360-solutions-video-popup":"block-360-solutions-video-popup","destroy-on-close":"destroy-on-close","":"","request-quote-link":"request-quote-link","d-md-inline-block":"d-md-inline-block","w-md-50":"w-md-50"}'

is my config old or wrong?

🇦🇺Australia jannakha Brisbane!

@Hritick the patch couldn't be applied because the branch was really old.
I have updated this fork to the latest 3.0.x - try to apply patch now?

🇦🇺Australia jannakha Brisbane!

@jsacksick thanks for reply!
I can see OrderReceiptSubscriber is handling that specific event:

public static function getSubscribedEvents() {
    $events = ['commerce_order.place.post_transition' => ['sendOrderReceipt', -100]];
    return $events;
  }

a quick question, if I need to update an order field within the this context - how do I prevent this event firing again?
at the moment if I update a field on the order and save the order - `commerce_order.place.post_transition` fires again which triggers sendOrderReceipt again and potentially any other handlers.

🇦🇺Australia jannakha Brisbane!

Video Embed WYSIWYG doesn't support CKEditor5.
CKEditor 4 is removed from D10.

Just use media, it's a core module.

🇦🇺Australia jannakha Brisbane!

This is a very important fix!

I've got lots of products with max 1 variation and updating product title doesn't update product variation title.
It creates issues with views and messes up all the data.

If title of the variations is not autogenerated - they are not going to be updated.

Patch #39 fixes the issue.
Old way of running tests is no longer supported.

🇦🇺Australia jannakha Brisbane!

Should info.yml include only supported versions?
eg
core_version_requirement: ^10.1 || ^11
should be
core_version_requirement: ^10.2 || ^11?

Comment in gitlab

🇦🇺Australia jannakha Brisbane!

Merge conflicts must be resolved.

🇦🇺Australia jannakha Brisbane!

Hurray for D11!

thanks for your fixes!

🇦🇺Australia jannakha Brisbane!

CKEditor5 have resolved the original issue (configurable labels of editors):
- https://github.com/ckeditor/ckeditor5/issues/15208

Once the new version of CKEditor5 (v42.0.3?) is released with Drupal:
- update label of the editor as per example

🇦🇺Australia jannakha Brisbane!

I guess I had an old version of Drupal, now I have help text too.

Production build 0.71.5 2024