Amsterdam
Account created on 19 November 2007, over 16 years ago
#

Merge Requests

Recent comments

🇳🇱Netherlands basvredeling Amsterdam

Thanks for you input @chamilsanjeewa @Sweetchuck

🇳🇱Netherlands basvredeling Amsterdam

I do not intend porting this to 3.x, changed version to 4.x-dev.

🇳🇱Netherlands basvredeling Amsterdam

Thanks for your improvement. Merged to both 3.x and 4.x branches.

🇳🇱Netherlands basvredeling Amsterdam

Now that SDC is part of core 🌱 [META] Move code from the experimental SDC module to core Active , perhaps the maintainers can give this patch another look.

🇳🇱Netherlands basvredeling Amsterdam

Updating to e0ipso/twig-storybook:1.3.1 fixes it, it seems.

🇳🇱Netherlands basvredeling Amsterdam

Part of release 4.0.0

🇳🇱Netherlands basvredeling Amsterdam

Thanks @tim_dj, these changes have all been merged. I'll make a new 4.x release soon.

🇳🇱Netherlands basvredeling Amsterdam

@tim_dj I've changed the MR a bit and merged it into 4.x. Thanks.
I think we need 2 more things:

  • A custom token that generates the paragraph summary as output. Just like is done inside the ParagraphBlocksLabeller:getTitle() when there is no admin title present. The \Drupal\paragraph_blocks\Entity\ParagraphBlocksEntity::getSummary() already does this, so that should be quite easy.
  • Potentially, something like a drush command, to update all existing admin_titles, or just the ones that are empty, to a new tokenised structure.
🇳🇱Netherlands basvredeling Amsterdam

MR 26 solves the issue, but also feels like a patch on something that needs to be solved further upstream.

🇳🇱Netherlands basvredeling Amsterdam

Updated patch for Commerce 2.37.0

🇳🇱Netherlands basvredeling Amsterdam

Latest patches no longer seem to apply to 2.37.0

🇳🇱Netherlands basvredeling Amsterdam

I took a similar approach and added this to the end of the ServerEndpointController::getArguments() method:

  private function getArguments(Request $request): array {
    # ...
    # ...
    # ...
    if ($request->getMethod() === 'POST') {      
      $params = $request->getContent();

      $params = Json::decode($params);

       // Also decode any json encoded parameters.
      foreach ($params as $key => $value) {
        if (is_string($value) && $this->isJson($value)) {
          $params[$key] = Json::decode($value);
        }
      }
      return $params;
    }

    return [];
  }

  /**
   * Determine if given string is json.
   *
   * @param string $string
   *
   * @return bool
   *
   * @deprecated
   *   Replace with json_validate() after PHP 8.3.
   */
  private function isJson(string $string): bool {
     json_decode($string);
     return json_last_error() === JSON_ERROR_NONE;
  }
🇳🇱Netherlands basvredeling Amsterdam

Updated patch with suggestion from #4

🇳🇱Netherlands basvredeling Amsterdam

This patch will break compatibility with fontawesome used in earlier Drupal versions prior to D10.1.0 (June 2023). Also the SDC module (experimental) needs to be enabled.

Besides the SDC component, this patch also includes a storybook *.stories.yml file. Please review and improve.

🇳🇱Netherlands basvredeling Amsterdam

This patch works well but would be more in line with the current Drupal block visibility conditions if it were stated as radio buttons saying "Show for..." / "Hide for..." like we do on the path / pages block condition.

🇳🇱Netherlands basvredeling Amsterdam

Rate your excitement about SDC in core: 1 ... 10 | N/A

10

Rate your excitement about potential contrib extending SDC: 1 ... 10 | N/A

9

Rate our documentation: 1 ... 10 | N/A

7

Did you 1️⃣ refactor existing template into a component, or did you 2️⃣ write a component from scratch? 1 | 2

1+2

Rate the helpfulness of error messages encountered: 1 ... 10 | N/A

5

Have you tried the Storybook integration? Yes | No

Yes

Any thoughts you would like to share? The sky is the limit

  • Have a list of available for components in core / contrib.
  • Have an demo storybook instance for stories in (for instance) Umami.
  • Clearly outline the differences between components and storybook stories.
  • Provide a list arguments to convince teams / management to switch to a component based design over traditional Drupal theming.
  • Integrate with all the headless initiatives on D.O.
🇳🇱Netherlands basvredeling Amsterdam

@dalemoore @cosmicdreams If you set up storybook to only monitor the .yml's, not the .json's that'll fix some of the warnings:

stories: [
    "../web/modules/**/*.stories.mdx",
    "../web/modules/**/*.stories.@(yml)",
    "../web/themes/**/*.stories.mdx",
    "../web/themes/**/*.stories.@(yml)"
]

I'll also post an MR in a minute, changing some of the IDs in the yamls to solve the duplicate ID warnings.

🇳🇱Netherlands basvredeling Amsterdam

@peterhebert are you using some aggressive caching mechanism?

🇳🇱Netherlands basvredeling Amsterdam

My patch in #65 potentially makes uninstalling contrib quickedit tricky when the media_embed plugin is enabled. The uninstaller might see quickedit as the filter plugin provider of media_embed and refuse to uninstall.
When running drush pm:uninstall quickedit, you'll get a message like: quickedit: Provides a filter plugin that is in use in the following filter formats: <em class="placeholder">Full HTML</em>.

🇳🇱Netherlands basvredeling Amsterdam

How about this approach? It adds a "stack promotions" configuration option to the promotions that use the percentage off trait. The current patch only implements it for OrderItemPercentageOff promotion offers. The patch needs additional work to be applied to OrderPercentageOff promotions, but the concept is clear I guess.

When the percentage promotions are configured to stack (default behaviour), the percentages are calculated cumulatively. That is: discounts are calculated upon discounted unit prices. If it is configured to NOT stack, the promotions will resolve the original unit price and be calculated as a percentage of that price.

🇳🇱Netherlands basvredeling Amsterdam

@matoeil isn't this an issue of the layout_builder_paragraphs module? Can you please provide steps to reproduce in english?
Also, could you double check if this is still an issue in 3.1.8?

🇳🇱Netherlands basvredeling Amsterdam

@matoeil have you tried using 3.1.8? This sounds like a php7 error. I've fixed some php7 compatibility issues in the 3.x branch and removed support for php7 from the 4.x branch.

🇳🇱Netherlands basvredeling Amsterdam

Just walked through the reproduction steps. This bug seems outdated. See screenshot:

🇳🇱Netherlands basvredeling Amsterdam

It seems this issue is outdated. If you feel otherwise, please reopen.

🇳🇱Netherlands basvredeling Amsterdam

This issue is outdated, non-existing paragraphs no longer show up in the layout builder.

🇳🇱Netherlands basvredeling Amsterdam

Fix is part of release 3.1.8

🇳🇱Netherlands basvredeling Amsterdam

Also merged to 4.x branch. @Nelo_Drup can you verify your problem is fixed in latest dev releases?

🇳🇱Netherlands basvredeling Amsterdam

This is a PHP 7.4 problem. I'll patch the problem in 3.x.

🇳🇱Netherlands basvredeling Amsterdam

The StravaController uses the LoggerChannelFactoryInterface nowadays so it will work with any implementation of that interface. And as far as I can tell current versions of the Redirect404LogSuppressor class implement the interface.

🇳🇱Netherlands basvredeling Amsterdam

Moving these fixes to a release. I've tested use case #16 and was able to reproduce and fix it. Please re-open if issue resurfaces in a different use case.

Thanks all for your contributions.

🇳🇱Netherlands basvredeling Amsterdam

@smustgrave I do believe this issue has been fixed in the latest commits in #19 / #20. Can you confirm?

🇳🇱Netherlands basvredeling Amsterdam

Merged into 3.x-dev. Will be part of the next release. Thanks for you contribution @HakS

🇳🇱Netherlands basvredeling Amsterdam

Release 3.1.6 marks panels as deprecated.
Release 4.0.0-beta1 drops support for panels.

🇳🇱Netherlands basvredeling Amsterdam

Release 4.0.0-beta1 drops support for geysir.

🇳🇱Netherlands basvredeling Amsterdam

This will be part of the first 4.x release.

🇳🇱Netherlands basvredeling Amsterdam

Geysir support has been removed in the new 4.x branch

🇳🇱Netherlands basvredeling Amsterdam

Thanks for the clarification. It's a small patch, without any major consequences so I've merged it into 3.x-dev.
I'll try to add it to a release as soon as I've got some more features/fixes to release.

Thanks for your contribution. I'm eager to see more of that layout_builder_paragraphs module you're working on. Do keep me in the loop. It sounds like it could also be a submodule for paragraph_blocks.

🇳🇱Netherlands basvredeling Amsterdam

@loziju I did a quick review of the patch. Why do we need a value in the admin title? And why should it be a uuid?
I think I'd prefer it to be an empty string.

Also have you tested the latest 3.1.5 version?

🇳🇱Netherlands basvredeling Amsterdam

Thanks for the reply... just leaving a patch here for others to use selectively then.
With correct line endings this time.

🇳🇱Netherlands basvredeling Amsterdam

@DamienMcKenna can we port a fix to the 1.x branch?

🇳🇱Netherlands basvredeling Amsterdam

I've tested this and prepared a new release 3.1.5 to fix this problem introduced in 3.1.4.

🇳🇱Netherlands basvredeling Amsterdam

@smustgrave I believe the behaviour only occurs if the workflow has been configured incorrectly. Can you please check if the workflow is configured to apply to the content type in question?

  1. Go to /admin/config/workflow/workflows/manage/editorial (or the workflow your configuring.
  2. scroll to the This workflow applies to: section.
  3. check the content type (or other entity type) this workflow needs to apply to.

If that fixes the problem on the latest dev release, we probably need to add this to the readme.

🇳🇱Netherlands basvredeling Amsterdam

Hi @jv24, I've just committed a fix a couple of minutes ago. Without noticing this issue. I've taken a slightly different approach.
Can you have a look at this commit and check the latest dev to see if that solves your issue?

🇳🇱Netherlands basvredeling Amsterdam

#62 adds the \Drupal\quickedit\Plugin\Filter\QuickEditMediaEmbed class, which extends \Drupal\media\Plugin\Filter\MediaEmbed. The parent class has full annotations, but the extension doesn't. There is no "type" specified nor inherited, which potentially leads to errors like:

Warning: Undefined array key "type" in Drupal\filter\Plugin\FilterBase->getType()

I've also attached the core/jquery lib to the build so that might fix the testing errors.

The MediaEmbed class is marked @internal, which is another potential problem.

🇳🇱Netherlands basvredeling Amsterdam

Actually, this issue needs to be fixed in the patch supplied by https://www.drupal.org/project/quickedit/issues/3101267#comment-14708359 🐛 Quick Edit could not associate the rendered entity field markup Needs work
closing.

🇳🇱Netherlands basvredeling Amsterdam

Release 3.1.4 of the paragraph_blocks module contains the fixes in MR6. I'll keep this issue open for the time being for you all to report your findings. Hopefully this issue is fixed despite not dealing with the cache issues.

🇳🇱Netherlands basvredeling Amsterdam

I've merged MR 6 because it solves this issue on my end. And I have trouble reproducing this issue as described in #13. As far as I can tell, the alter hooks triggered in \Drupal\Core\Plugin\FilteredPluginManagerTrait::getFilteredDefinitions() are running correctly and this list is not cached in the LayoutPluginManager.

@smustgrave Can you check if the route response is cached on your end? Try to bypass it by overriding the layout_builder.choose_block route and setting the no_cache: TRUE option.

🇳🇱Netherlands basvredeling Amsterdam

@dalemoore I don't think we can create something reliable for this use case. Feel free to reopen any time if new insights prompt you to.

🇳🇱Netherlands basvredeling Amsterdam

@melissag does the supplied patch fix your problem when you re-run update hook paragraph_blocks_update_9301()? Or do we need to fix this retroactively and move the data migration to a new update hook?

🇳🇱Netherlands basvredeling Amsterdam

Made some extra changes to the services after #18.
Thanks for your efforts all.

🇳🇱Netherlands basvredeling Amsterdam

#15 was a big improvement but also contained a couple of nasty typos. Here's an updated patch. Could you please review?

🇳🇱Netherlands basvredeling Amsterdam

@Nelo_Drup Thanks for reporting. I believe this is a duplicate of 🐛 Warning: foreach() argument must be of type array|object, null given in paragraph_blocks_form_entity_view_display_edit_form_alter Fixed . Feel free to reopen if that turns out to be a different issue. and the patch supplied there doesn't work.

🇳🇱Netherlands basvredeling Amsterdam

@smustgrave as far as I can tell you should create a node with content moderation enabled. If you do you can pretty easily recreate the problem by adding a paragraph to that node that when that node has either: a) no published revisions at all or b) the latest published revision is not the latest revision.

🇳🇱Netherlands basvredeling Amsterdam

@smustgrave @L.B. @dalemoore could you please test / review MR 6 in comment #8.

Production build 0.69.0 2024