Account created on 23 February 2007, almost 18 years ago
#

Merge Requests

More

Recent comments

🇫🇷France andypost

@claudiu.cristea Thank you! Since D8 we just adding new formats like Let GDToolkit support AVIF image format Needs work

🇫🇷France andypost

sometimes it's easier to chunk commits by 400 loc but having overall changes as 10k

🇫🇷France andypost

Deprecation suppose removal of the usage, 240LOC surely needs chunking

git grep REQUIREMENT_ |wc -l
241

🇫🇷France andypost

@jcnventura it sounds like option for contrib module a-la Schema

🇫🇷France andypost

It needs summary update, see #3499524-4: Mysql Schema::addField() incorectly processing indexes specification

Mysql is using specific schema validation but does not support extra settings for for indexes

🇫🇷France andypost

It should be done as upload progress needs revival but not clear about " the modern approach"

🇫🇷France andypost

ini_set('zend.assertions', 1);ini_set('zend.assertions', 1);

This settings can be changed only starting PHP https://www.php.net/manual/en/ini.core.php#ini.zend.assertions

🇫🇷France andypost

Any reason to use jQuery.form which is deprecated for a long time?

🇫🇷France andypost

Then at least doc-block needs rewording to point out that fields are required

without the 'fields' element

from \Drupal\Core\Database\Schema::addField()

   * @param array|null $keys_new
   *   (optional) Keys and indexes specification to be created on the
   *   table along with adding the field. The format is the same as a
   *   table specification but without the 'fields' element. If you are
   *   adding a type 'serial' field, you MUST specify at least one key
   *   or index including it in this array. See ::changeField() for more
   *   explanation why.
🇫🇷France andypost

the commit which breaks https://git.drupalcode.org/project/drupal/-/commit/eea37702137e1dce6036f...

it means mysql require to pass "fields" but other drivers are not (as doc block said)

@daffie please check if it works for mongodb

🇫🇷France andypost

on pgsql able to reproduce, the failing value is

php -r 'var_dump(unserialize(hex2bin("4f3a33313a2253796d666f6e795c436f6d706f6e656e745c526f7574696e675c416c696173223a323a7b733a34343a22")));'
PHP Warning:  unserialize(): Error at offset 44 of 48 bytes in Command line code on line 1
PHP Stack trace:
PHP   1. {main}() Command line code:0
PHP   2. unserialize($data = 'O:31:"Symfony\\Component\\Routing\\Alias":2:{s:44:"') Command line code:1
Command line code:1:
bool(false)
🇫🇷France andypost

The only failure is pgsql with strange warning

    1) /builds/issue/drupal-3159210/core/lib/Drupal/Core/Routing/RouteProvider.php:267
    unserialize(): Error at offset 44 of 48 bytes
🇫🇷France andypost

@amateescu Thank you fixing update hook! Probably it needs follow-up and todo added to allow add field with index to mysql table in one transaction

🇫🇷France andypost

any somehow update hooks fails on mysql

Run updates
       ┐
       ├ The update failed with the following message: "Failed: Drupal\Core\Database\SchemaException: MySQL needs the 'alias' field specification in order to normalize the 'alias' index in Drupal\mysql\Driver\Database\mysql\Schema->getNormalizedIndexes() (line 332 of /builds/issue/drupal-3159210/core/modules/mysql/src/Driver/Database/mysql/Schema.php)."
       │
       │ /builds/issue/drupal-3159210/core/tests/Drupal/Tests/UpdatePathTestTrait.php:68
       │ /builds/issue/drupal-3159210/core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBase.php:196
       │ /builds/issue/drupal-3159210/core/modules/workspaces/tests/src/Functional/Update/WorkspaceAssociationStringIdsUpdatePathTest.php:42
🇫🇷France andypost

Measuring queries executed in big-pipe and while rendering also can give wrong results on timing for db-queries

Probably makes sense to patch core so it will react on fiber suspend,
also maybe to add attribute to spans to point out that span generated inside of fiber and time could be inaccurate

🇫🇷France andypost

needs to add filtering and inject configuration cleaner, also needs tests

🇫🇷France andypost

Looks like it's not a blocker anymore, not clear why but that's great!

🇫🇷France andypost

This files are not from core, please file new issue

🇫🇷France andypost

Looks like it needs follow-up as help is not shown after install

🇫🇷France andypost

I bet it needs to check CI template as very probably it needs changes but it doable in follow-up if any maintainer can be found

🇫🇷France andypost

Updated CI and conditionally call block_rebuild() for 11.1+ core (looks like it has no effect)

🇫🇷France andypost

Few more deprecations in test files and usage of block_rebuild() must be converted to new hooks for 11.x https://www.drupal.org/node/3486534

🇫🇷France andypost

As 10.4/10.5 are compatible the commit needs backport to 10.x

🇫🇷France andypost

Used to run pipelines for the current 10.4 and 10.5 and both are green!

- https://git.drupalcode.org/issue/drupal-3427903/-/pipelines/378581
- https://git.drupalcode.org/issue/drupal-3427903/-/pipelines/378594

So closing this one and 10.4.0 release post can mention about compatibility like https://www.drupal.org/blog/drupal-11-1-0

🇫🇷France andypost

andypost changed the visibility of the branch 10.4.x to hidden.

🇫🇷France andypost

andypost changed the visibility of the branch 10.5.x to hidden.

🇫🇷France andypost

It's very helpful for PHPStorm so maybe makes sense to add rector rule)

🇫🇷France andypost

Looking at CI jobs I see no viable perf regression, so except fixing the last test it looks ready to go (good to get it in in early days on 11.2)

🇫🇷France andypost

Looks great and ready to go!

Just not sure about return type which I think which be iterable (traversable) instead of array

🇫🇷France andypost

Ludwig already mentioning that it should be replaced, so asked how to backport route in #3377094-17: Retire Ludwig?

🇫🇷France andypost

Module needs new issue to deal with 11.2 upgrade which gonna remove authorize.php route #3491731-35: Remove the ability to update modules and themes via authorize.php
Guess moving route should not be a blocker

🇫🇷France andypost

Probably CI images needs update #3468905: Update default system encoding setting for Mysql images before merging it as all Mysql 8.0+ images complain in logs about default encoding

🇫🇷France andypost

Probably core needs own issue to discus default encoding additionally to Make ROW_FORMAT configurable Needs work

  • InnoDB tables have a max index length of 767 bytes (in MySQL 5.6 and older) or 3072 bytes (MySQL 5.7+ with innodb_large_prefix enabled).
  • UTF-8 MB4 encoding uses up to 4 bytes per character, meaning strings longer than 191 characters can exceed the max index size.
🇫🇷France andypost

in 10.3 there was added handling of exceptions in queries

🇫🇷France andypost

Module could provide hybrid context and raise required OT version to 1.1

Kinda

use OpenTelemetry\Context\ContextStorage;
use OpenTelemetry\Context\FiberBoundContextStorage;

class HybridContextStorage extends ContextStorage {
    private $fiberStorage;
    private $defaultStorage;

    public function __construct() {
        $this->fiberStorage = new FiberBoundContextStorage();
        $this->defaultStorage = new ContextStorage();
    }

    public function current(): Context {
        if (\Fiber::getCurrent()) {
            return $this->fiberStorage->current();
        }
        return $this->defaultStorage->current();
    }

    public function attach(Context $context): Scope {
        if (\Fiber::getCurrent()) {
            return $this->fiberStorage->attach($context);
        }
        return $this->defaultStorage->attach($context);
    }
}

🇫🇷France andypost

Yes, there's server-setup.sh script which can be improved, so only a backend question remains - fpm or what?!

🇫🇷France andypost

I did it intentionally because Mysql 9.x is Innovation releases (9.0 is outdated) and latest PHP is 8.4 so oldest and newest combinations are covered

Moreover in related we can use better matrix 📌 [CI] Introduce a separate stage for unit tests Active

🇫🇷France andypost

Curious how we can create image containing both nginx and apache

🇫🇷France andypost

Added testing using latest Mysql 8.4 and Postgresql 17

so I changed pgsql:17 for merge request job to use PHP 8.4 to re-use in daily testing

🇫🇷France andypost

possibly, a rector rule could look for:
loops with a condition that returns the current element - array_find
loops with a condition that returns the current key - array_find_key
loops with a condition that returns FALSE - array_all
loops with a condition that returns TRUE - array_any

🇫🇷France andypost

Fixed CI as config validation job does not calling composer with new lock file after reverting commit

so now job has

Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 1 update, 0 removals
  - Downloading symfony/polyfill-php84 (v1.31.0)
  - Installing symfony/polyfill-php84 (v1.31.0): Extracting archive
  - Upgrading drupal/core (11.x-dev 71e78e0 => 11.x-dev 4a48295): Source already present
🇫🇷France andypost

With PHP 8.4 and Add symfony/polyfill-php84 and make use of new array functions Needs work there's new [#Deprecated] attribute with since argument, so would be great to discus it in Adopt #[Deprecated] attribute Active

#[Attribute(Attribute::TARGET_METHOD|Attribute::TARGET_FUNCTION|Attribute::TARGET_CLASS_CONSTANT)]
final class Deprecated
{
    public readonly ?string $message;
 
    public readonly ?string $since;
 
    public function __construct(?string $message = null, ?string $since = null) { /* … */ }
}
🇫🇷France andypost

Looks in PHP 8.5 this attribute can be applied to constants if RFC pass https://wiki.php.net/rfc/attributes-on-constants

🇫🇷France andypost

This week is enough updates for release

🇫🇷France andypost

I bet it will effect on tmpfs usage, moreover ATM mysql:8 image sometimes fail to start

🇫🇷France andypost

Looking at changes I see no reason to provide BC and deprecations

🇫🇷France andypost

what is a fate of authorize.php as it looks not deprecated yet?

🇫🇷France andypost

Looking ahead it sounds like good idea, moreover in a light of new HTML 5 DOM in PHP 8.4

🇫🇷France andypost

@spokje thank you, after rebase it passed

🇫🇷France andypost

Twig has no effect on failure

    There was 1 failure:
    
    1) Drupal\Tests\jsonapi\Functional\NodeTest::testGetIndividual
    Failed asserting that 'MISS' is identical to true.
    
    /builds/issue/drupal-3490183/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php:122
    /builds/issue/drupal-3490183/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php:80
    /builds/issue/drupal-3490183/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php:758
    /builds/issue/drupal-3490183/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php:861
    /builds/issue/drupal-3490183/core/modules/jsonapi/tests/src/Functional/NodeTest.php:340
    /builds/issue/drupal-3490183/vendor/phpunit/phpunit/src/Framework/TestResult.php:729
🇫🇷France andypost

There's 3.16 release but looks to downgrades detected https://github.com/twigphp/Twig/blob/v3.16.0/CHANGELOG

Added it for 10.4/10.5 in 📌 Update Composer dependencies for 10.4.0-RC1 Active

🇫🇷France andypost

As twig 3.15 merged it can use more updates

+--------------------+---------+---------+
| Production Changes | From    | To      |
+--------------------+---------+---------+
| twig/twig          | v3.15.0 | v3.16.0 |
+--------------------+---------+---------+

+------------------------------------+----------+----------+
| Dev Changes                        | From     | To       |
+------------------------------------+----------+----------+
| composer/ca-bundle                 | 1.5.3    | 1.5.4    |
| drupal/coder                       | 8.3.25   | 8.3.26   |
| google/protobuf                    | v4.28.3  | v4.29.1  |
| phpstan/phpstan                    | 1.12.11  | 1.12.12  |
| sirbrillig/phpcs-variable-analysis | v2.11.19 | v2.11.21 |
+------------------------------------+----------+----------+
🇫🇷France andypost

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

Production build 0.71.5 2024