🇺🇸United States @tim.plunkett

Philadelphia
Account created on 14 February 2008, about 17 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States tim.plunkett Philadelphia

Awesome, thanks @fjgarlin for debugging!

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett made their first commit to this issue’s fork.

🇺🇸United States tim.plunkett Philadelphia

Rebuilt this based on how XB is handling it, with @todos pointing to 📌 Only run linting jobs if the files changed make sense for the job Active

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett changed the visibility of the branch 2.0.x to hidden.

🇺🇸United States tim.plunkett Philadelphia

#21 all three of those methods are being removed from DrupalDotOrgJsonApi and as of this MR now only exist on DrupalDotOrgSourceBase.

🇺🇸United States tim.plunkett Philadelphia

Great! This is a nice modernization.

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett changed the visibility of the branch 3322601-pp-1-add-instructions to active.

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett changed the visibility of the branch 3322601-pp-1-add-instructions to hidden.

🇺🇸United States tim.plunkett Philadelphia

Merged !726 🎉

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett made their first commit to this issue’s fork.

🇺🇸United States tim.plunkett Philadelphia

Even if the other issue about stripping out inheritdoc landed, I think this issue still has merit. There is value in the knowing the intention of an overridden method, and this isn't a Drupal-ism or from Symfony or Laravel, it's a language-level "feature".

🇺🇸United States tim.plunkett Philadelphia

This is a great clean-up. I'd like to see a test for #17, I'm actually surprised PHPStan didn't catch that. But that can happen in a follow-up.

🇺🇸United States tim.plunkett Philadelphia

To be clear, this is an MR I made of the branch @joachim of the patch @claudiu.cristea made in 2018. There's definitely a lot of cruft in it.

@nicxvan feel free to push to the MR fork!

🇺🇸United States tim.plunkett Philadelphia

Thanks @nod_! Rebased

🇺🇸United States tim.plunkett Philadelphia

This is fine, it undoes a reasonable portion of what 🐛 Remove certain presentational opinions Active overdid

🇺🇸United States tim.plunkett Philadelphia

I've reviewed this and the new upstream code, great work.

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett changed the visibility of the branch 3386762-open-field-settings to hidden.

🇺🇸United States tim.plunkett Philadelphia

Sorry, I forgot this included the fix from 🐛 Compressed ajax_page_state['libraries'] can exist in both $request->request and $request->query simultaneously Active , so this is technically postponed. There's also a failing test now, and it might have been from the last commit.

#99 Can you file a follow-up to fix that for Safari?

🇺🇸United States tim.plunkett Philadelphia

I cleaned up the new CR and deleted the outdated CR.

🇺🇸United States tim.plunkett Philadelphia

Good news: returning [] and NULL have exactly the same effect. We can file a follow-up to fix BlockViewBuilder which has been wrong this whole time. But let's not let it slow us here.

Converted the patch to an MR and added more tests.

🇺🇸United States tim.plunkett Philadelphia

Turned patch into MR.

🇺🇸United States tim.plunkett Philadelphia

Merged !692 🎉

🇺🇸United States tim.plunkett Philadelphia

Saving credit

🇺🇸United States tim.plunkett Philadelphia

Thanks for your input @poker10. Drupal CMS and Drupal Core are different products.

🇺🇸United States tim.plunkett Philadelphia

This is such a nice clean-up. Farewell stores.js!

🇺🇸United States tim.plunkett Philadelphia

N.B. this is mainly a problem because code like HtmlResponseAttachmentsProcessor, CssCollectionOptimizerLazy, and AjaxBasePageNegotiator all use code like

  $this->requestStack->getCurrentRequest()->get('ajax_page_state')

and Request::get() checks attributes, query, and request in that order.

🇺🇸United States tim.plunkett Philadelphia

MR looks good, and we have buy-in on the idea. Thanks @phenaproxima and @catch

🇺🇸United States tim.plunkett Philadelphia

Important to note: the merge Lauri did failed tests, my commits after are similarly failing. We might want to revert my commit of the dialog.js changes until we get the tests green again

🇺🇸United States tim.plunkett Philadelphia

This was merged, which is good, but by me, which is not.

🇺🇸United States tim.plunkett Philadelphia

Opened 🐛 Resolve type issues caught by PHPStan usage in Project Browser Active for the actual "bugs" upstream in Package Manager (as opposed to the ones stemming from the weirdness of legacy core code).

🇺🇸United States tim.plunkett Philadelphia

One last step is to document the additions to the phpstan.neon

🇺🇸United States tim.plunkett Philadelphia

Interestingly enough, I was messing around with higher levels of PHPStan and Level 4 would have caught at least the part from 🐛 $source !== 'recipes' is a comparison of incompatible types Active

🇺🇸United States tim.plunkett Philadelphia

Re #35/#36, adding this to core/phpstan.neon.dist doesn't help contrib modules (since extending core's is a bad practice), but adding it to your own does help.

  universalObjectCratesClasses:
    - Drupal\Core\Extension\Extension
🇺🇸United States tim.plunkett Philadelphia

+1 to RTBC for all of the tweaks since my initial fix. That installer decorator change being the needed fix is wild. I was half-wrong in #7, not obvious at all!

🇺🇸United States tim.plunkett Philadelphia

Yes, that is an alternate approach to fixing the same bug.

🇺🇸United States tim.plunkett Philadelphia

For some reason, this MR causes a regression on 10.4.x

For example, running \Drupal\Tests\project_browser\Functional\InstallerControllerTest::testCoreModuleActivate() now gets this error on activation:

{"message":"PluginNotFoundException: The \u0022filter_format\u0022 entity type does not exist.","phase":"project install"}

I'm sure the reason will be obvious once it's tracked down, but wow that's a weird bug right now.

🇺🇸United States tim.plunkett Philadelphia

Only one manager remains in a Type directory: \Drupal\rest\Plugin\Type\ResourcePluginManager
That class really shouldn't be in there, but unlike all the situations described in the original issue summary, there are no other classes in that directory.
It *was* confusing when the manager was among the other classes, but that's not happening here.

I think if anyone feels strongly now, they can open an issue to move ResourcePluginManager to a different directory, but this can be closed (and not just because it's stale).

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett created an issue.

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett created an issue.

🇺🇸United States tim.plunkett Philadelphia

tim.plunkett made their first commit to this issue’s fork.

🇺🇸United States tim.plunkett Philadelphia

I think this is a duplicate of 🐛 WSOD when using settings to limit sources to recipes Active
Or at least they are different approaches to the same underlying problem

🇺🇸United States tim.plunkett Philadelphia

To be clear, it's not a trial-only problem right now. If someone were to stumble upon /admin/config/development/project_browser and disable the "Contrib modules" source, this task would still exist and when clicked would trigger a WSOD.

Leaving this postponed in case the direction of 🐛 WSOD when using settings to limit sources to recipes Active shifts, but as the MR exists right now it will resolve this problem.
It turns that WSOD into a 404, and since the Top Tasks are menu links, it's smart enough to hide the task on it's own.

🇺🇸United States tim.plunkett Philadelphia

Working on this. It's even easier to reproduce than the IS, just go to /admin/modules/browse/asdf. It doesn't just matter if it's enabled/disabled, it's also whether it exists at all.

🇺🇸United States tim.plunkett Philadelphia

Targeted MR already exists here, is more needed?

🇺🇸United States tim.plunkett Philadelphia

@soaratul and I synced up on this just now.
In standard Drupal routing, having a slash or not having a slash is no issue, and it's just preference (for context, Drupal Core precedes all of its routes with the slash).

However, when you use Symfony's autowiring, it has to match 1:1 with the definition in the services.yml file.
And those definitions must NOT contain a slash!

As I mentioned before, core's routes are prefixed with a slash, EXCEPT for the ones that are autowired (e.g. WorkspacesHtmlEntityFormController).

Additionally, all of the existing routes in XB are all correctly not using a prefixed slash.

If you add a slash to any of the existing XB autowired routes, you will get the same error from ClassResolver.

The slash was added in 📌 Create an endpoint to publish all auto-saved entities Active
The only reason that issue worked is because the test coverage instantiated ApiPublishAllController as a service, not using the routing system.

So as soon as [PP-1] Implement the "Publish All" button Postponed attempted to use it as a route, this error was hit.

My recommendation would be to merge this fix into the MR for the preview issue and close this one.

🇺🇸United States tim.plunkett Philadelphia

Needs a rebase but +1 from me

🇺🇸United States tim.plunkett Philadelphia

Thanks @phenaproxima!

🇺🇸United States tim.plunkett Philadelphia

Barring any future improvements to actually preventing people from being able to even try, I think putting it in the README is good. Thanks!

Production build 0.71.5 2024