Meeting will happen in #d10readiness on drupal.slack.com.

Hello and welcome to this Drupal 10 readiness meeting!

This meeting:
➤ Is for core and contributed project developers as well as people who have integrations and services related to core. Site developers who want to stay in the know to keep up-to-date for the easiest Drupal 10 upgrade of their sites are also welcome.
➤ Now happens every Monday at 18:00 UTC.
➤ Is done over chat.
➤ Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!
➤ Has a public agenda anyone can add to: `https://www.drupal.org/project/drupal/issues/3295306`
➤ *Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a :bust_in_silhouette: emoji. To take a comment or thread off the record, start with a :no_entry_sign: emoji.

0️⃣ Who is here today? Comment in the thread below to introduce yourself.

andypost Hi, Andy, contributor
Kristen Pol (she/her) Kristen, California
hestenet (he/him) Lurking while in calls as best I can
Vighnesh Sadagopal Vighnesh, India
Björn Brala (bbrala) Lurking
shaal Ofer Shaal, Florida :sunglasses:
mglaman Hi, Matt :wave:
sharayurajput Hi, am sharayu...
xjm :wave:  xjm, catching up (edited)
omkar-pd :wave: Omkar from India
atul ghate Atul, India
Ilcho Vuchkov (vuil) Ilcho Vuchkov, Bulgaria :flag-bg:

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

andypost PHP 8.2 feature freeze and beta1 this week, update CI images and phpstan if 1.8.2 will out
Kristen Pol (she/her) Drupal 10 porting day coming up at end of the month
andypost Blockers for PHP 8.2[#2839195] needs naming review

2️⃣ PHP 8.2 feature freeze and beta1 is this week, need drupalci support (edited) 

Gábor Hojtsy (he/him) @andypost says it would be great to get drupalci support for this, are you sure the first beta is the best @andypost?
andypost yes, as feature freeze is over it's polishing of last alpha, at least few fixes and features #[\SensitiveParameter] could be discovered for core security https://wiki.php.net/rfc/redact_parameters_in_back_traces
andypost https://github.com/phpstan/phpstan-src/pull/1478#issuecomment-1187666917... release 1.8.2 will allow d-org CI to pass on 8.2
andypost Release on 21 July https://wiki.php.net/todo/php82
mixologic I thought we had 8.2 support, just that the avif wasnt working?
Gábor Hojtsy (he/him) 8.2 support on drupalci? I believe we agreed on one piece of alpha, one piece of beta etc to be deployed
andypost Yep, avif needs work but first completed run needs updated dependencies (used to bump to -dev)https://dispatcher.drupalci.org/job/drupal_patches/138522/ /cc @berdir (edited)
andypost @mixologic beta1 will contain all API changes so better to start use it, I will notify when it will be available. The main question still open is new rng (random) extension https://github.com/php/php-src/pull/8094
andypost Random extension is in) the plan for freeze is https://externals.io/message/118275
andypost @mixologic PHP 8,.2 beta1 packaged https://downloads.php.net/~pierrick/  waiting for announce
mixologic php8.2-beta1 updated , and also I based 8.1. and 8.2-beta1 off of debian bullseye, which miraculously just worked. so, Avif might also be working too.
andypost something strange after upgrade https://www.drupal.org/node/3060/qa
Gábor Hojtsy (he/him) @catch @xjm  ^^^ would be likely reason for head fails on 10.x and 10.1.x
andypost it is reproducible locally, see https://drupal.slack.com/archives/C1BMUQ9U6/p1658382786655739
Gábor Hojtsy (he/him) ok
andypost release anounced https://www.php.net/archive/2022.php#2022-07-21-1 (edited)

3️⃣ Drupal 10 porting day at the end of the month!

Gábor Hojtsy (he/him) Raised by @Kristen Pol (she/her)
Kristen Pol (she/her) https://www.drupal.org/community/events/drupal-10-global-porting-day-jul...
Kristen Pol (she/her) Still looking for mentors: https://docs.google.com/spreadsheets/d/1Y8XJsy9yLH-_T8VzwUXsAVy4qfCRTMwG...
Kristen Pol (she/her) And any Drupal 10 porting related documentation. @benjifisher created this recently https://www.drupal.org/community-initiatives/contribution-events-initiat...…]nt-guide/testing-compatibility-patches-with-composer-and-ddev
Gábor Hojtsy (he/him) Leaders in the Drupal 8 to 9 porting weekend included @voleger, @VladimirAus, @tsega, @gambry, @vaibhavjain, @jcnventura, @mikelutz (he/him). @nerdstein, @jungle, @JayKandari, @digantdj :slightly_smiling_face: maybe some of them would be interested to return for this Drupal 9 to 10 installment?
jcnventura I'd love to, but not a good time, as I'm on a diving holiday. Please do count me in if we do a 2nd weekend later.
nerdstein I'll join - let me know if there are specific times
Gábor Hojtsy (he/him) Ah diving into actual water :slightly_smiling_face: have fun @jcnventura
shaal @Kristen Pol (she/her) following @benjifisher document.I think people can also use a “clean” DrupalPod with Drupal core v10.Skip all the preparation steps, and start from “Install a module to test”, because the same ddev commands would work in DrupalPod.
mglaman It’d be great if those leading could help identify gaps in tooling ahead of time so I can sprint on them. if possible. Or at least track them as the event happens. I’ll try to be available during my workday for questions and support (US Central)
Kristen Pol (she/her) @nerdstein The spreadsheet (above) has time slots. Thank you!!! (edited)
Kristen Pol (she/her) @shaal Maybe I should refactor the documentation to have a setup page (DrupalPod vs ddev vs lando etc) and then the rest? I haven't looked at the docs in detail yet (edited)
Kristen Pol (she/her) @mglaman Thanks for raising this! Ideally, I would personally run through the whole process while making sure the docs are updated but I'm not sure I'll have time this week. Thank you for helping on that during the event :slightly_smiling_face:
mglaman I’ve been trying to rush out some fixes for phpstan-drupal. Rector needs some more fixes… but I figure better reporting of problems is more critical than automating their fixes
Kristen Pol (she/her) @jcnventura Have fun! We do hope to have another one in August or September
shaal @Kristen Pol (she/her) sounds great! We can also make a short simple video that shows the steps.I think the commands might be a bit different?ddev composer install vs lando composer install
mglaman I have a list of CRs that may need rules (https://github.com/users/mglaman/projects/3) but haven’t been able to triage yet; only based on my current porting stumbles
Kristen Pol (she/her) @shaal Yes, good point... we can mention both
Gábor Hojtsy (he/him) @mglaman I think given the huge coverage of rector (we believe), reporting improvements make more sense indeed, unless our belief about high coverage are not true :smile:
Kristen Pol (she/her) I see that DrupalCon Europe starts 20 September so if we have another porting day before then, it should be the end of August or first week of September, I would think
Kristen Pol (she/her) @Gábor Hojtsy (he/him) will there be a porting focus at DrupalCon?
Gábor Hojtsy (he/him) @Kristen Pol (she/her) yes we hope to have contribution tables working on stuff, especially given the beta of Drupal 9.5 and Drupal 10 should be released the week prior :slightly_smiling_face:
benjifisher @shaal: Does DrupalPod include mglaman/composer-drupal-lenient? See "Prepare to add patches" in my notes.
benjifisher @mglaman: that part of the tooling ^ worked well last week.
benjifisher :+1: for having someone run through the process, as @Kristen Pol (she/her) suggested.
benjifisher I should also acknowledge @berdir, who pointed out that we were installing the latest release of Pathauto in our testing, not the dev version. I improved the step "Install a module to test" based on that feedback.
berdir yeah, as commented, if you want to actually work on a module, you should explicitly get the dev version, so that you also get a git checkout and can create patches. you could also just do a git clone, but you will have to manually get it's dependencies then if applicable
Kristen Pol (she/her) Very important point, thanks!
benjifisher The notes already include this (one-time step, not once per module):If you plan to contribute patches or make merge requests, and not just test existing ones, then tell Composer to install from source:ddev composer config preferred-install source
benjifisher I think that is good enough. Like the rest of the notes, it needs independent testing.
Kristen Pol (she/her) Oh! Super handy :thumbsup:
berdir That will get you everything as git checkout, Including core, which is much slower. And it still defaults to checking out a tag and you risk wasting time on the wrong version. I prefer an explicit require drupal/foo:1.x-dev. You do have to be explicit about the major and sometimes minor version
benjifisher It depends on the goal.If there is already a D10-compatible releaseOR de version, then I think (in the context of this contribution event), the next step is to move on to another project. That is why my notes suggestTry installing the latest release.Try installing the dev version.Install and patch the dev version.(with explicit composer commands for each step). And thenConfirm that you have installed the version you think.
benjifisher I decided it was simpler to let composer check compatibility instead of giving instructions likeCheck the project on GitLab and see whether the .info.yml file--for the branch and/or the tag--declares D10 compatibility.
shaal @benjifisher / @mglamanddev composer config repositories.lenient composer https://packages.drupal.org/lenientwas what I was using before for the :chicken: & :egg: problem.Is mglaman/composer-drupal-lenient what we should be using for solving it in D10 ? (edited)
benjifisher I believe so. I do not think that the lenient facade has been updated for D10 compatibility.
berdir yes, will not be updated
berdir I decided it was simpler to let composer check compatibility instead of giving instructions likenote that if you combine that with the lenient plugin, you explicitly override that, and will just get the latest stable release. IMHO, if someone actually wants to work on a project, more often than not they need to make a decision on which version. but I also understand that it's a bigger hurdle for folks doing it the first time.
Kristen Pol (she/her) Useful discussion ^ :thankful:
Kristen Pol (she/her) Fyi https://drupal.slack.com/archives/C03FH8GTB1A/p1658173892251399?thread_t...
Kristen Pol (she/her) @Gábor Hojtsy (he/him) Do you have plans to update this cheat sheet for Drupal 10? https://www.hojtsy.hu/files/Drupal9ContributionCheatSheet.pdf
Gábor Hojtsy (he/him) I could update it or give access to edit it to anyone :) it's either a Google doc or apple pages document
Kristen Pol (she/her) I wonder how helpful it was… wish we had download stats. I could update as part of the documentation
VladimirAus Happy to help to update the sheet
Kristen Pol (she/her) Thanks @VladimirAus !
gambry Sorry for the late reply. I’m on holidays for 28-29 dates, so I won’t be able to support. But I’ll check within my company. I’m sure someone will be happy to help. (edited)
nerdstein @Kristen Pol (she/her) I updated the sheet. The best times I had available had some other folks already signed up - but I figure the more help the better
Kristen Pol (she/her) Yay! Hoping to have at least 2 mentors per slot. The more the merrier :partying_face:
jungle Hi @Kristen Pol (she/her) , I updated the sheet too, and signed me up for 6 empty slots. Now, each slot has at least 1 mentor. (edited)
Kristen Pol (she/her) Yay! So happy you can make it :heart_eyes:

4️⃣ Blockers for PHP 8.2 support in core

Gábor Hojtsy (he/him) Raised by @andypost
Gábor Hojtsy (he/him) #2531564: Fix leaky and brittle container serialization solution Needs discussion about deprecation in 9.5 and 10.0
Gábor Hojtsy (he/him) #2839195: Add a method to access the original property Needs naming review
andypost The meta blocker #3275851: [META] Fix PHP 8.2 dynamic property deprecations still require upcoming phpstan 1.8.2 to be able to get full run
Gábor Hojtsy (he/him) #3293933: Upgrade phpstan/phpstan to 1.8.1 was committed a week or so ago, is there an issue for 1.8.2? why do we need that explicitly?
berdir we need it because 1.8.1 still doesn't like the new attribute
andypost yes it was week ago but it does not contain https://github.com/JetBrains/phpstorm-stubs/pull/1404 which was a blocker for testing under 8.2 (phpstan relies on this stubs)
berdir that said, it's not really a hard blocker to work on the current major issues, and for that, we can just disable phpstan
andypost moreover, I find it ready  #3295813: ViewsEntitySchemaSubscriber access undefined property of View
berdir without the serviceId issue, Extension and a bunch of other issues fixed, core causes so many deprecations that DrupalCI explodes
berdir so all focus should be on these
Gábor Hojtsy (he/him) Is there an issue for updating phpstan to 1.8.2, or should I open one? :slightly_smiling_face:
andypost no existing issue, so better to check compatibility with drupal-rector&co
andypost @Gábor Hojtsy (he/him) it should go under #3291553: [META] Check and update dependencies for PHP 8.2 compatibility
andypost @berdir if phpstan will get update we'll be able to add atrributes and proceed with other issues as much less noise and it will not cause us to disble phpstan
Gábor Hojtsy (he/him) OK but there is not a 1.8.2 of https://github.com/phpstan/phpstan/releases, and 1.8.1 already said it supports #[AllowDynamicProperties]? I tried looking through their commits if there was a relevant commit yet since 1.8.1, but it does not seem like it?
Gábor Hojtsy (he/him) Opened #3298199: Upgrade phpstan/phpstan to 1.8.2 for support of PHP 8.2 #[\AllowDynamicProperties] attribute postponed
xjm Speaking of phpstan, the updated deps test is failing on it again for several days now, so that would need to be resolved too for the update
andypost @xjm any pointer to failures?
xjm Can be found as always on http://www.drupal.org/node/3060/qa :slightly_smiling_face: The specific job is https://www.drupal.org/pift-ci-job/2428880
xjm Various issues with the baseline I guess
berdir ^ my guess is that's related to bugfixes in phstan-drupal @mglaman ? could be that thing about the class constants. so core no longer has to ignore bugs related to that, which is a good thing
mglaman lazy builder was fixed in latest phpstan, which should have removed errors.
andypost queued cummulative  upgrades #3295821: Ignore: patch testing issue for PHP 8.2 attributes#comment-14614173
berdir @andypost https://dispatcher.drupalci.org/job/drupal_patches/138522/console is actually the first 8.2 run that did not get stuck on a kernel test (that views test that you looked at was not the one it got stuck on, just the last that that passed. but now it's into functional tests. and kernel tests is a mix of passes and fails.
berdir completed, this looks like the baseline in functional tests (fails that pretty much every single functional test will have): https://dispatcher.drupalci.org/job/drupal_patches/138522/testReport/jun...…]st/Drupal_Tests_filter_Functional_FilterFormatAccessTest/. php deprecations actually fail functional tests. beside lots of undefined properties, also a few other things like "  18x: Use of "static" in callables is deprecated" and "  30x: Function utf8_encode() is deprecated"
andypost @berdir which analysis tool you're using? It would be great to extract main failures and sort out maximum causes
berdir my eyes? :slightly_smiling_face: we don't need any tools for those ~10 things, every single test is failing on the first drupalGet() now. once we've resolved all those then it will get more interesting
andypost I will try parse the logs, utf8_encode surely coming from deps
berdir I thought you had it at some point, but looks like that latest patch does not include #3274474: Fix 'Access to an undefined property' PHPStan L0 errors? I think that should fix several of the missing properties
andypost Callables are waiting for new phpstan -drupal as I got @mglaman
andypost Yep, I removed the patch to test deps and figure out baselineAlso state of 3274474 is not clear (edited)
mglaman It got the release, didn't open an issue to upgrade yet. But looks like it's working per https://drupal.slack.com/archives/C014CT1CN1M/p1658173015799629?thread_t...
berdir I don't think that callable thing is about phpstan? that's a runtime php deprecation
berdir running a browsertest in non-separate-process mode + a regex as catch points me to:#1 core/modules/user/src/Entity/Role.php(172): uasort(Array, 'static::sort')
berdir https://php.watch/versions/8.2/partially-supported-callable-deprecation
berdir and utf8_decode() is email validator: #1 vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php(273): Egulias\EmailValidator\EmailLexer->getType('simpletest')
andypost @berdir I filed #3298343: upgrade egulias/email-validator to 3.2.1 to support PHP 8.2
berdir great to see that most/all of our dependencies are also actively looking at that and are still actively maintained :wink:
berdir @andypost maybe I misunderstood you about the callable thing. did you mean that phpstan update is blocking us from converting these to a supported format? Do you know if there's an issue for that already? Looks like there aren't too many, 'static:: finds 8 matches in core, should be a search & replace to update that to static::class . '
andypost @berdir as I got that's rector territory, otoh I could miss something
andypost @berdir L0 fixes just 350 tests (also with package updates) so "callables fixes" are remaining 2200
andypost @mglaman which drupal-rector version required to fix callables?
andypost I mean things like https://dispatcher.drupalci.org/job/drupal_patches/138678/testReport/jun...…]upal_Tests_system_Functional_Module_InstallUninstallTest/
berdir Well, it's more that static callables are the next/maybe last hurdle to complete a basic page request and then we'll probably get to see any other fails
mglaman drupal-rector doesn’t have rules to fix callables, as far as I know
berdir Imho it's just to avoid the false detection of static::class, nothing about rector.
mglaman and phpstan-drupal doesn’t have that problem in latest
andypost example fix is https://www.drupal.org/files/issues/2022-07-19/interdiff_1.txt
mglaman - uasort($entities, 'static::sort');
+ uasort($entities, [static::class, 'sort']);this isn’t phpstan, that’s PHP 8.2 We could see if Rector provided a rule
andypost ah, now it more clear
mglaman similiar but different :smile: because static::class . 'sort' should work in PHP 8.2; and confused phpstan-drupal when render array callable before
berdir @andypost the pass raw stuff is messy, that's related to drupalLogin and friends and should definitely not be public documented properties
andypost @berdir yes, also needs to formalize usage of pass_raw vs passRaw
berdir Seeing two main issues in the tests, form display widgets and block provider
berdir the main issue with most of this config entity type related things is that config entity forms just set any form element as a property on the config entity. I'd propose to just add the allow dynamic property attribute on ConfigEntityBase for now. We can look into improving that, but that's going to be a long-term thing
andypost #3295821: Ignore: patch testing issue for PHP 8.2 attributes#comment-14615864 It is 1,445 failed vs 2700
andypost Also a set of dynamic properties on mocks... Looking for opinions
andypost I found Germany forest a productive saver from heet

5️⃣ The project update bot is running again with results from the weekend using mglaman/phpstan-drupal: 1.1.24 and palantirnet/drupal-rector: 0.13.0

Gábor Hojtsy (he/him) Thanks @mglaman, @Björn Brala (bbrala) and @tedbow for their work on this :slightly_smiling_face:
Gábor Hojtsy (he/him) Thousand+ new projects get patches :slightly_smiling_face:
Björn Brala (bbrala) :grinning:
berdir yes, getting a lot better results, in projects that didn't before and more complete patches in projects that did just get tiny ones before
berdir where should I report things that I found strange? in threads here, or create issues?
Gábor Hojtsy (he/him) @berdir either works, like before :slightly_smiling_face:
Björn Brala (bbrala) If it's a few minor things we can triade here then find the appropiate place to put them if needed :)
mglaman drupal.org/project/rector seems like a good spot too
berdir noted. didn't look too much yet. one thing I haven't seen before is the ProphecyTrait usage in #3297955: Automated Drupal 10 compatibility fixes. seems to be correct as that's being removed, but not seeing that anywhere in core. it's there in the phpunit9 compatibility trait, I would kinda expect that core will just add it to our base classes as it's so widely used?

6️⃣ Thanks all for coming, see you next week!

Comments

Gábor Hojtsy created an issue. See original summary.

gábor hojtsy’s picture

Issue summary: View changes

Gábor Hojtsy credited xjm.

gábor hojtsy’s picture

Issue summary: View changes

Saving notes.

gábor hojtsy’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.