Account created on 23 February 2007, over 17 years ago
#

Merge Requests

More

Recent comments

🇫🇷France andypost

Core can check PHP version and use faster validator https://3v4l.org/IhHj3/rfc#vgit.master

$ php -r 'var_dump((DOM\HTMLDocument::createEmpty())->relaxNgValidateSource("<p><a href=\"/foo\">Text here</p>"));'
PHP Warning:  Dom\Document::relaxNgValidateSource(): Entity: line 1: parser error : Opening and ending tag mismatch: a line 1 and p in Command line code on line 1

Warning: Dom\Document::relaxNgValidateSource(): Entity: line 1: parser error : Opening and ending tag mismatch: a line 1 and p in Command line code on line 1
PHP Warning:  Dom\Document::relaxNgValidateSource(): <p><a href="/foo">Text here</p> in Command line code on line 1

Warning: Dom\Document::relaxNgValidateSource(): <p><a href="/foo">Text here</p> in Command line code on line 1
PHP Warning:  Dom\Document::relaxNgValidateSource():                                ^ in Command line code on line 1

Warning: Dom\Document::relaxNgValidateSource():                                ^ in Command line code on line 1
PHP Warning:  Dom\Document::relaxNgValidateSource(): xmlRelaxNGParse: could not parse schemas in Command line code on line 1

Warning: Dom\Document::relaxNgValidateSource(): xmlRelaxNGParse: could not parse schemas in Command line code on line 1
PHP Warning:  Dom\Document::relaxNgValidateSource(): Invalid RelaxNG in Command line code on line 1

Warning: Dom\Document::relaxNgValidateSource(): Invalid RelaxNG in Command line code on line 1
bool(false)
🇫🇷France andypost

The new native #[\Deprecated] attribute in PHP 8.4 can automatically throw deprecation messages, so external libraries can give unexpected deprecations

🇫🇷France andypost

Filed new issue to explore replacement of the library with new native dom extension implementation - Explore PHP 8.4 native HTML 5 parser vs html5-php Active

🇫🇷France andypost

...in a light of https://wiki.php.net/rfc/opt_in_dom_spec_compliance

probably better to split out deprecation of #suffix into separate issue at least to unlock it

🇫🇷France andypost

As before it needs to fix doc-blocks and MR!7815 is where work started

🇫🇷France andypost

You need 10.2.4 core at least to get rid of the bug

🇫🇷France andypost

Updated to use static::class to get the real data-class name

🇫🇷France andypost

Tests are green and looking at changes there are only properties nullable, translatable, mapping

Also mapping property used to validate requiredKey so replaced with a hack to track changes in array processing, probably need Wim Leers to review

🇫🇷France andypost

Rebased and squashed commits, updated deprecation wording and 10.4 core

maybe it should be deprecated in 11.1?

🇫🇷France andypost

Changes looks ready for RTBC but somehow I can't trigger sqlite testing job

🇫🇷France andypost

Nice to see this working!

btw both cache and artifacts has TTL so some fallback when cache is missing still required.
so instead of || true for curl if could use condition to print error message and re-init cache

🇫🇷France andypost

Firefox declare full support of :has in version 121 (Released 2023-12-19) but current ESR is 128 released on July 9 so I think polyfill no longer needed

🇫🇷France andypost

Interesting idea, then definitions could be described via protobufs for example

🇫🇷France andypost

As route deprecation is not ready it looks like removal is only valid option 📌 Support route aliasing (Symfony 5.4) and allow deprecating the route name Needs work

Moreover it will need follow-ups to update docs (help topics are not affected) and https://www.drupal.org/docs/user_guide/en/extend-chapter.html

🇫🇷France andypost

Moreover it makes sense to explore optimizations related to --headless mode in browsers

🇫🇷France andypost

Thanks! it explains difference (all skipped for ff)

btw performance metrics also could be collected from FF, at least it has tracing out of box and allows to enable dev-tools (even via remote somehow) and get better details... for follow-up

🇫🇷France andypost

I think it makes sense to deprecate all 3 forms as well

🇫🇷France andypost

Historically the hook creating new database table for search indexing but table-exists-check is too expensive to use at runtime

🇫🇷France andypost

No it should not be backported to 10.x because the hook is required to be executed before cache cleaning

The fix probably needs better comment about order of cache cleaning for plugins, somehow search is cleaned after help, probably because of alphabetic order

🇫🇷France andypost

quickly reverted and fixed, looks it can be backported to 10.3.x

🇫🇷France andypost

Added review, only this 2 places to fix but MR removing code instead of just version check

🇫🇷France andypost

please create another RC with D11 support

🇫🇷France andypost

Somehow FIrefox tests are x2 faster then selenium jobs

🇫🇷France andypost

There's follow-up to improve error message, it missing component name at least 📌 Unhelpful PHP error with NULL type property Needs review

🇫🇷France andypost

Locally in docker I got few tests running fine using Firefox image with following arguments
MINK_DRIVER_ARGS_WEBDRIVER: '["firefox", {"browserName":"fixrefox","moz:firefoxOptions":{"args":["--headless"]}}, "http://browser:4444"]'

🇫🇷France andypost

I think we should also add a manual job to run tests using Firefox.

nice idea, there's selenium/standalone-firefox image

🇫🇷France andypost

Only 1 failed test left (see #22) https://git.drupalcode.org/issue/drupal-3427903/-/pipelines/226036/test_...

Also there's a lot of deprecations because of prophecy but they could be added to ignored deprecations

🇫🇷France andypost

Stats for baseline looks big but looks like it should be better then growing amount of newcode

+ 75718
− 1390
🇫🇷France andypost

as the function argument changed issue needs change record

🇫🇷France andypost

Polished IS a bit but it needs more clean-up especially for CLI

🇫🇷France andypost

There's some repeatable failure for mysql as well, maybe the issue in transition out of mysql_safe... I will check deeper this weekend

🇫🇷France andypost

Here's 2 places which cause warnings when config:inspect executed

 [warning] Undefined array key "type" Mapping.php:143
 [warning] Undefined array key "type" Mapping.php:143
 [warning] Undefined array key "type" Mapping.php:143
 [warning] Undefined array key "type" Mapping.php:143

Probably there's more places

🇫🇷France andypost

patches are no longer used to run tests, please update MR or create new one

🇫🇷France andypost

only beta versions of jQuery and UI remains in beta, and there's no schedule for stable releases

🇫🇷France andypost

Help module can provide special section plugin, or even help topic which will be generated from changelog for example

🇫🇷France andypost

Thank you! Great integration to add!
Let's get more opinions on a way to integrate, for example https://docs.gitlab.com/ee/administration/admin_area.html#user-impersona...

+++ b/masquerade.module
@@ -254,3 +254,20 @@ function masquerade_migration_plugins_alter(array &$migrations) {
+function masquerade_preprocess_menu_region__footer(array &$variables): void {
+  if (\Drupal::service('masquerade')->isMasquerading()) {
+    $variables['items']['masquerade_switch_back'] = [
+      'title' => t('Unmasquerade'),
+      'url' => Url::fromRoute('masquerade.unmasquerade'),

Curios if it needs cache metadata?!

Moreover we can display the block with quick links and so on.

Is there a way to configure how to display in navigation as I know nothing about it's API

🇫🇷France andypost

prophecy again is very slow on new PHP version compatibility

🇫🇷France andypost

justinrainbow/json-schema | v5.2.13 | 5.3.0
one more compatible extension with PHP 8.4, next composer release will contain it

🇫🇷France andypost

Both but second has less changes

🇫🇷France andypost

Second MR probably preferable

🇫🇷France andypost

Last commit should be removed as production images will be rolled

🇫🇷France andypost

Looks everything works without extra packages, so we can simplify in follow-up other db-images (no extra dependencies to install)

🇫🇷France andypost

Filed core issue for testing new images and daily run or default 📌 Add core testing with Mysql 8.4 LTS Needs review

🇫🇷France andypost

Pushed dev image

- added mysql:8.4 image with updated script to use bash while ! echo > /dev/tcp/localhost/3306; do sleep 1; done to wait for port
- updated mysql:8 image inline with 8.4 - transition from mysql_safe and fix encodings dir

🇫🇷France andypost

Base image for `mysql-8` also needs update

mysql                                       8                           736ced9665e8   39 hours ago        583MB
mysql                                       8.4                         736ced9665e8   39 hours ago        583MB
mysql                                       8.0                         0b60ddd8609d   39 hours ago        572MB
🇫🇷France andypost

Before looking for workarounds please consider if you really need this method as it very internal to ThemeExtensionList::doGetBaseThemes() which you can decorate/access in a hacky way

But custom code is not expected to use this method

🇫🇷France andypost

HTTP request to core/modules/statistics/statistics.php (yay! special case!)

IS should not mention removed in 11.x statistics module

🇫🇷France andypost

I find $override_handler_plugin_id over-complicated - handler is always plugin and the method name already suppose to return handler getHandler() so $override_plugin_id is more reasonable

🇫🇷France andypost

Nice idea but tests are failed, so there's usage to clean-up

🇫🇷France andypost

Please create MR from the branch to 11.x

🇫🇷France andypost

Probably better to re-purpose the issue to provide exporter as importer already in core

🇫🇷France andypost

As I see only 4 usages left

$ git grep database_drivers
core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php:122:    $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\coreFake\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake");
core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php:123:    $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFakeWithAllCustomClasses\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses");
core/tests/Drupal/Tests/Core/Database/ConnectionTest.php:324:    $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFake\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFake");
core/tests/Drupal/Tests/Core/Database/ConnectionTest.php:325:    $additional_class_loader->addPsr4("Drupal\\core_fake\\Driver\\Database\\CoreFakeWithAllCustomClasses\\", __DIR__ . "/../../../../../tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses");
Production build 0.69.0 2024