🇺🇸United States @loopy1492

Account created on 1 November 2011, about 13 years ago
#

Merge Requests

More

Recent comments

🇺🇸United States loopy1492

We were getting the following:

Mismatched entity and/or field definitions
The following changes were detected in the entity type and field definitions.
Taxonomy term
The Publish state field needs to be installed.
The Unpublish state field needs to be installed.

We attempted to remediate by simply uninstalling and reinstalling the module and exporting the config, but we received the error from https://www.drupal.org/project/scheduler_content_moderation_integration/...

For some reason, it became very clear that many of our sites were missing one or more of updates 9001, 9002, and 9003. I am not sure if this was due to a developer's error in not exporting the configuration and commiting the configuration to the codebase, or if it's an issue with Scheduler dropping off updates later in its version life. I'd suspect it's the former because the current scheduler still has these updates in the code.

We had to do the following:

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install';"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9001();"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9002();"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9003();"

drush cex -y

Then commit the new configuration.

🇺🇸United States loopy1492

We were getting the following:

Mismatched entity and/or field definitions
The following changes were detected in the entity type and field definitions.
Taxonomy term
The Publish state field needs to be installed.
The Unpublish state field needs to be installed.

We attempted to remediate by simply uninstalling and reinstalling the module and exporting the config, but we received the error in the OP. Instead, we had to do the following:

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install';"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9001();"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9002();"

drush php:eval "require_once 'modules/contrib/scheduler_content_moderation_integration/scheduler_content_moderation_integration.install'; scheduler_content_moderation_integration_update_9003();"

drush cex -y

Then commit the new configuration.

🇺🇸United States loopy1492

Yeah, there is a workaround and that's nice, but we really shouldn't normalize this kind of thing as a reasonable way to do releases. Minor versions of a module should include all database updates necessary to upgrade from one minor version to another.

🇺🇸United States loopy1492

With Acquia moving over to mysql 8 soon, folks on that platform may want to petition Acquia to contribute to this module.

🇺🇸United States loopy1492

I applied the patch and it works for me. Please review.

🇺🇸United States loopy1492

Thank you kindly for the response, @longwave. We feel safe using the temp solution in #36 and #38 then.

🇺🇸United States loopy1492

But if we're allowing acquia/drupal-recommended-settings (or blt) to auto-generate the salt file, we don't have to worry about this? According to the OP?

🇺🇸United States loopy1492

I'm confused. Does this affect 10.x or not?

🇺🇸United States loopy1492

You guys. The command mentioned in this issue should really be on the main page of the project.

🇺🇸United States loopy1492

@longwave I'd love to help out but it's been a minute since I've referenced a gitlab branch in composer and google is failing me. If you can point me to a reference here on d.o where I can tell my site to use the gitlab branch, I can help out.

I will close the github PRs.

🇺🇸United States loopy1492

If anyone knows the maintainers, I've made pull requests for core-recommended.

https://github.com/drupal/core-recommended/pulls

🇺🇸United States loopy1492

I agree with @larryla. I think that's the best path forward. The sooner that's done, the fewer people will have this issue.

🇺🇸United States loopy1492

Pretty sure this has to do with lightning_scheduler.

Ah, lightning. The gift that keeps on giving.

🇺🇸United States loopy1492

Onlu the active button was really affected for us. I applied the patch from #2 and it fixed the problem for us:

core: 10.3.1
environment_indicator: 4.0.19

🇺🇸United States loopy1492

CORE 10.3.1
PHP 8.2
Search API: 1.35.0

RuntimeException while trying to render item entity:node/98251:en with view mode full for search index Default Content: Failed to start the session because headers have already been sent by "/var/www/html/vendor/symfony/http-foundation/Response.php" at line 408. in Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (line 132 of /var/www/html/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php).

🇺🇸United States loopy1492

download a patch file from the MR and include it as part of your project repo rather than posting it in an issue comment.

Ah, I see. So, drupal.org just wants us to stop linking to patch files on thier site?

🇺🇸United States loopy1492

I mis-spoke. It only works on the full_html text format because it allows for the changing of any HTML tag. I'm guessing since every other text format must abide by whatever tags are allowed by the different plugins, ul type and ol type cannot be added.

🇺🇸United States loopy1492

I genuinely have no idea what's going on with this module but we pinned to

"drupal/ckeditor_liststyle": "1.x-dev#a34d9baa310af13de950e6e1f46c38faa6ac7c07",

And another one of our team members simply created a ckeditor 5 patch for the info file

diff --git a/ckeditor_liststyle.info.yml b/ckeditor_liststyle.info.yml
index 0823a9d..691e029 100644
--- a/ckeditor_liststyle.info.yml
+++ b/ckeditor_liststyle.info.yml
@@ -3,5 +3,5 @@ type: module
 description: This plugin adds numbered list and ordered list properties dialogs (available in context menu) in CKEditor.
 package: CKEditor
 dependencies:
-  - drupal:ckeditor
+  - drupal:ckeditor5
 core_version_requirement: ^8 || ^9 || ^10

And the module works.

This makes literally no sense whatsoever but here we are. My guess is the most recent version of the library works fine and any addional Drupaly stuff isn't really necessary to make sure the plugin works in general.

🇺🇸United States loopy1492

Cloned comment from https://www.drupal.org/node/3283526

I added a ckeditor5.yml file:

ckeditor_liststyle_liststyle:
  ckeditor5:
    plugins:
      - list.bulletedListStyle
      - list.numberedListStyle
  drupal:
    label: ListStyle
    library: ckeditor_liststyle/editor
    class: Drupal\ckeditor_liststyle\Plugin\CKEditor5Plugin\ListStyle
    elements:
      - <ul>
      - <ul type>
      - <ol>
      - <ol type>
    conditions:
      plugins:
        - ckeditor5_list

And we are getting:

LogicException: The "ckeditor_liststyle_liststyle" CKEditor 5 plugin implements ::getElementsSubset() and did return a subset ("<ul type><ol type reversed start>") but the following tags can no longer be created: "<ul><ol>". in Drupal\ckeditor5\Plugin\CKEditor5PluginManager->getProvidedElements() (line 409 of /home/ide/project/docroot/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php).

And of course the eternal problem of this message on the text format.

With CKEditor 5 this is a read-only field. The allowed HTML tags and attributes are determined by the CKEditor 5 configuration. Manually removing tags would break enabled functionality, and any manually added tags would be removed by CKEditor 5 on render.

Even adding the ul and ol manually to the config yml file won't override the Allowed HTML tags on import.

So what are we supposed to do?

🇺🇸United States loopy1492

Yeah. I am trying to help contribute to the ckeditor liststyle module.

I added:

ckeditor_liststyle_liststyle:
  ckeditor5:
    plugins:
      - list.bulletedListStyle
      - list.numberedListStyle
  drupal:
    label: ListStyle
    library: ckeditor_liststyle/editor
    class: Drupal\ckeditor_liststyle\Plugin\CKEditor5Plugin\ListStyle
    elements:
      - <ul>
      - <ul type>
      - <ol>
      - <ol type>
    conditions:
      plugins:
        - ckeditor5_list

And we are getting:

LogicException: The "ckeditor_liststyle_liststyle" CKEditor 5 plugin implements ::getElementsSubset() and did return a subset ("

    ") but the following tags can no longer be created: "
    ". in Drupal\ckeditor5\Plugin\CKEditor5PluginManager->getProvidedElements() (line 409 of /home/ide/project/docroot/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php).

And of course the eternal problem of this message on the text format.

With CKEditor 5 this is a read-only field. The allowed HTML tags and attributes are determined by the CKEditor 5 configuration. Manually removing tags would break enabled functionality, and any manually added tags would be removed by CKEditor 5 on render.

Even adding the ul and ol manually to the config yml file won't override the Allowed HTML tags on import.

So what are we supposed to do?

🇺🇸United States loopy1492

I noticed there's no ckeditor5.yml file for this module. That's where the plugins would be defined. Isn't this file necessary for any ckeditor 5 module?

🇺🇸United States loopy1492

I'm sure many of us would be happy to contribute to these modules that are having a problem with these new checks, but I think it would be nice for a link to instructions on how to resolve it for them rather than having to reverse engineer the core code that was changed.

🇺🇸United States loopy1492

This has been noticed during https://www.drupal.org/project/ckeditor_liststyle/issues/3326957 🌱 Make ckeditor_liststyle compatible with ckeditor5 RTBC

🇺🇸United States loopy1492

And I'm getting these errors when editing two different text formats:

🇺🇸United States loopy1492

The list style buttons seem to work, but when the wysiwyg loads, I'm still getting this in the console:

CKEditorError: schema-cannot-extend-missing-item {"itemName":"$listItem"}
Read more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#erro...
at li.extend (ckeditor5-dll.js?v=40.2.0:5:312284)
at On. (html-support.js?v=40.2.0:5:62810)
at On.fire (ckeditor5-dll.js?v=40.2.0:5:604093)
at On._fireRegisterEvent (html-support.js?v=40.2.0:5:45500)
at editor.data.on.priority (html-support.js?v=40.2.0:5:43517)
at Vi.fire (ckeditor5-dll.js?v=40.2.0:5:604093)
at [as init] (ckeditor5-dll.js?v=40.2.0:5:607777)
at editor-classic.js?v=40.2.0:4:9696

🇺🇸United States loopy1492

I put this in my theme and it works. It's kind of terrrible, but it works. It lags pretty badly when the editor page opens or when you expand a paragraph that has a wysiwyg in it.

(function (Drupal, once) {
  Drupal.behaviors.lastUpdated = {
    attach: function (context, settings) {
      // temove any CSS rule containing list-style-type for ol or ul
      function removeCSSRule(styleTag) {
        if (styleTag) {
          // Get the current CSS content
          let cssContent = styleTag.innerHTML;
          // Create a regular expression to match ol or ul rules with list-style-type
          const regex = /[^{]+\s*(ol|ul)[^,{]*\{[^}]*list-style-type:\s*[^;]+;[^}]*\}/gi;
          // Find all matches
          let matches = cssContent.match(regex);
          // Remove all matching rules and log them
          if (matches) {
            matches.forEach(match => {
              cssContent = cssContent.replace(match, '');
            });
          }
          // Set the updated CSS content back to the style tag
          styleTag.innerHTML = cssContent.trim();
        }
      }
      // Function to check and remove the rule from new style tags
      function checkAndRemoveRule(node) {
        if (node.nodeType === 1 && node.matches('style[data-cke="true"]')) {
          removeCSSRule(node);
        }
      }
      // Initial call to remove the rule from already present style tags
      document.querySelectorAll('style[data-cke="true"]').forEach(function (styleTag) {
        removeCSSRule(styleTag);
      });
      // Observer to detect when new style elements are added to the DOM
      const observer = new MutationObserver(function (mutations) {
        mutations.forEach(function (mutation) {
          mutation.addedNodes.forEach(function (node) {
            checkAndRemoveRule(node);
          });
        });
      });
      // Start observing the document for changes
      observer.observe(document.body, {
        childList: true,
        subtree: true
      });
    }
  };
})(Drupal, once);

I think it might be better to either have our own list.js like https://www.drupal.org/project/ckeditor_liststyle/issues/3326957 🌱 Make ckeditor_liststyle compatible with ckeditor5 RTBC does or contribute to ckeditor 5 directly.

🇺🇸United States loopy1492

So, just to rule out an admin theme issue, I switched to Claro for my admin theme and this still seems to be happening.

The list.js is being injected making it impossible to re-style the list items because css is case-sensitive and ol[type="A"] is the same to css as ol[type="a"].

The only thing I can think to do at this point is write some asynchronous javascript to find the css when it appears and remove it from the page.

🇺🇸United States loopy1492

Same. This is a real bummer. We are using an old core base theme for our admin theme, so the core project @Tomefa linked isn't working for us. For some reason all of these base themes have set the list styles at a fundamental level. Never mind the fact that ckeditor injects it onto the page itself with /docroot/core/assets/vendor/ckeditor5/list/list.js

🇺🇸United States loopy1492

I spoke too soon. That worked when I refreshed the page, but then after clearing some caches, it seems that ckeditor injected more styles into the page. I believe they came from here:

🇺🇸United States loopy1492

I was able to get this patch to work alongside https://www.drupal.org/project/drupal/issues/3274635#comment-15665742 [upstream] Use CKEditor 5's native and UX Needs work in order to get list styles working on Core 10.2.7.

🇺🇸United States loopy1492

I think these are the salient parts of the code where the style resides. This might be an relatively easy fix but I am just swamped right now.

🇺🇸United States loopy1492

Yeah. This seems to be working for us better than https://www.drupal.org/project/ckeditor_liststyle/issues/3326957 🌱 Make ckeditor_liststyle compatible with ckeditor5 RTBC which is throwing major errors right now.

However, this plugin seems to be only displaying the default list style in the wysiwyg, but is displaying it after publishing. (see screenshots)

Also please note, out of an interest for security, we will not ever use the Merge Request for our patching on our sites unless absolutely necessary.

🇺🇸United States loopy1492

I was able to write this alter for a search API filter. Yes, you can nest Condition Groups within other Condition Groups with this, which is a real lifesaver. This function was added to a Service, but I suspect it could be added in a .module file instead. I think. I'm also pretty sure this method (or similar) can be used to alter a sql query.

I left the debug code in (commented out) so you could see what objects we're dealing with here.

use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\query\QueryPluginBase;
use Symfony\Component\HttpFoundation\Request;
use Drupal\search_api\Plugin\views\query\SearchApiQuery;
use Drupal\search_api\Query\ConditionGroup;
use Drupal\taxonomy\Entity\Term;

/**
   * Filter Frame View - query alter, custom updates to the view query.
   *
   * @param \Drupal\views\ViewExecutable $view
   *   Drupal view.
   * @param \Drupal\views\Plugin\views\query\QueryPluginBase $query
   *   Query.
   */
  public function myFilteredViewViewQueryAlter(ViewExecutable $view, QueryPluginBase $query) {

    if ($view->id() == 'my_view_id') {
      // Check if the query is an instance of SearchApiQuery
      if ($query instanceof SearchApiQuery) {
        // Get the Search API query object
        $search_api_query = $query->getSearchApiQuery();
        // Get the current request object
        $request = \Drupal::request();
        // Get the exposed filter values from the query string
        $queryParams = $request->query->all();
        // Debug variable
        $term_values = "";
        // Check if the field_my_filter_term_field_one or field_my_filter_term_field_two parameters exist and are arrays
        if ((isset($queryParams['field_my_filter_term_field_one']) && is_array($queryParams['field_my_filter_term_field_one'])) ||
          (isset($queryParams['field_my_filter_term_field_two']) && is_array($queryParams['field_my_filter_term_field_two']))
        ) {
          // Taxonomy variables
          $term_storage = \Drupal::entityTypeManager()->getStorage('taxonomy_term');
          // Create a new condition group for the wrapper
          $conditionGroup = new ConditionGroup('AND');
          // ID tracker
          $old_parent_tid = null;

          // Helper function to process filter terms
          $process_filter_terms = function ($field_name) use (&$term_values, $term_storage, &$conditionGroup, &$old_parent_tid, $queryParams) {
            $innerConditionGroup = new ConditionGroup('OR');
            foreach ($queryParams[$field_name] as $value) {
              // Get the taxonomy term from the filter
              $term = Term::load($value);
              // Check if the term is loaded successfully.
              if ($term) {
                // Get information from the taxonomy term.
                $term_name = $term->getName();
                $term_id = $term->id();
                $parent_tid = $term->get('parent')->target_id;
                if (!empty($parent_tid)) {
                  // Load the parent term using the correct term storage.
                  $parent_term = $term_storage->load($parent_tid);
                  // Check if the parent term is loaded.
                  if ($parent_term) {
                    if ($old_parent_tid != $parent_tid) {
                      // If this parent term is different from the previous one
                      if ($old_parent_tid != null) {
                        // Assign the inner condition group to the outer condition group
                        $conditionGroup->addConditionGroup($innerConditionGroup);
                        // Re-cast the inner condition group
                        $innerConditionGroup = new ConditionGroup('OR');
                      }
                      // set the ID tracker
                      $old_parent_tid = $parent_tid;
                    }
                  }
                }
                // Add the condition to the current condition group
                $innerConditionGroup->addCondition($field_name, $term_id, '=');
                // Concatenate values for debugging.
                // $term_values .= $parent_tid . ' : ' . $term_name . " : " . $term_id . ", ";
              }
            }
            // Add the last inner condition group to the outer condition group if it's not empty
            if (!empty($innerConditionGroup->getConditions())) {
              $conditionGroup->addConditionGroup($innerConditionGroup);
            }
          };

          // Process both field_my_filter_term_field_one and field_my_filter_term_field_two using our helper function
          if (isset($queryParams['field_my_filter_term_field_one']) && is_array($queryParams['field_my_filter_term_field_one'])) {
            $process_filter_terms('field_my_filter_term_field_one');
          }
          if (isset($queryParams['field_my_filter_term_field_two']) && is_array($queryParams['field_my_filter_term_field_two'])) {
            $process_filter_terms('field_my_filter_term_field_two');
          }

          // Set the condition group to the search API query
          $search_api_query->addConditionGroup($conditionGroup);
          // debugging
          // if (isset($queryParams['field_my_filter_term_field_one'])) dpm($queryParams['field_my_filter_term_field_one'], 'Exposed Filter Values');
          // if (isset($queryParams['field_my_filter_term_field_two'])) dpm($queryParams['field_my_filter_term_field_two'], 'Exposed MT Filter Values');
          // dpm($term_values);
        }

        // Debug the modified conditions in the Search API query
        // dpm($search_api_query->getConditionGroup(), 'Condition Groups in Search API Query');
        // Debug the modified search API query object
        // dpm($search_api_query);
      }
  }
🇺🇸United States loopy1492

Yeah, nested filter groups is definitely something we need.

🇺🇸United States loopy1492

Thank you @teknocat. I could not figure out for the life of me why lightning_scheduler 3.19 was being reported when we were installing dev-3297525-automated-drupal-10

🇺🇸United States loopy1492

When I disable the module and cex, all the config disappears as you might expect. Re-enabling the module has produced only one configuration file as you indicated. 3.x does not seem to have the same issue as 2.x.

🇺🇸United States loopy1492

Thanks for the reply.

I set drupal/security_review to ^3.0 which upgraded as follows: 2.0.2 => 3.0.0-rc2.

drush updb didn't seem to indicate any updates that needed to be run.

I ran drush cr and then drush cex did not indicate any new configuration changes.

The security_review.checks.yml file is still just

{  }
🇺🇸United States loopy1492

Ah, nuts. This looks like it's already been suggested but it was in that special place between "open ticket" and "not yet in a full release".

Womp womp.

https://www.drupal.org/project/search404/issues/3320104 🐛 Allow all valid URL characters for custom search path RTBC

🇺🇸United States loopy1492

I was having a ton of issues with this on a site and I think I finally tracked down the problem: it was using twig/twig: ^3.

Here is code for a twig FUNCTION that works with twig/twig 2

my_module/src/TwigExtension/MyModuleInputTwigExtension.php:

namespace Drupal\my_module\TwigExtension;

/**
 * Custom Twig extension to format my field.
 */
class MyModuleInputTwigExtension extends \Twig_Extension {

  /**
   * {@inheritdoc}
   */
  public function getFunctions() {
    return [
      new \Twig_SimpleFunction('format_hours_msg', [$this, 'formatMsg'], ['is_safe' => ['html']]),
    ];
  }

  /**
   * Formats a string for proper output.
   *
   * @param string $string
   *   The input string.
   *
   * @return string
   *   The formatted string.
   */
  public function formatMsg($string) {
    // string formatting code  for $string
    return $string;
  }
}

my_module.services.yml:

services:
  my_module.function:
    class: Drupal\my_module\TwigExtension\MyModuleInputTwigExtension
    tags:
      - { name: twig.extension }

But when I tried to use a similar method with /Twig_SimpleFilter or even /Twig_SimpleFunction and whatnot on the other site, it threw:

Uncaught Error: Class "Twig_Extension" not found in /var/www/docroot/modules/custom/my_module/src/TwigExtension/MyModuleInputTwigExtension

When I removed the /TwigExtension/ from the routing file, it threw:

Service 'my_module.twig_extension' for consumer 'twig' does not implement Twig\Extension\ExtensionInterface.

Here is code for a twig FILTER that works with twig/twig 3:

my_module/src/TwigExtension/MyModuleInputTwigExtension.php:


namespace Drupal\my_module\TwigExtension;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use Twig\TwigFunction;


class MyModuleTwigExtension extends AbstractExtension {
  
  public function getFilters() {
    return [
      new TwigFilter('to_https', [$this, 'toHttpsFilter']),
    ];
  }

  public function toHttpsFilter($url) {
    // Check if the URL starts with 'http:' or 'https:' and replace it with 'https:'
    $url = preg_replace('/^(http:|https:)?/', 'https:', $url);

    return $url;
  }
}

I've also see the return line for getFilters() look like this:

'to_https' => new TwigFilter('to_https', [$this, 'toHttpsFilter']),

my_module.services.yml:

services:
  my_module.twig_extension:
    class: Drupal\my_module\TwigExtension\MyModuleTwigExtension
    tags:
      - { name: twig.extension }
🇺🇸United States loopy1492

Just got it on another site. Need to copy the db to a different environment upstream, and wipe the redirect_404 table before I can download it and use it locally.

🇺🇸United States loopy1492

We finally got to the bottom of this and it was a weird situation.

We are filling a select2 field on the fly with

$nodeStorage = $this->entityTypeManager->getStorage('node');
$nodeQuery = $nodeStorage->getQuery();

Then it's supposed to filter based on node type...

$custom_node_type_ids = $nodeQuery
        ->condition('type', 'custom_node_type')
        ->condition('status', 1)
        ->sort('created', 'DESC')
        ->accessCheck()
        ->execute();

But for some reason, when I debug the output from this function, it returns not only the custom_node_type nodes, but also the node of the current page. The current page is of the "page" content type, but that doesn't seem to matter to the nodeQuery.

I had to add the following:

$my_nodes_ids = $nodeQuery
        ->condition('type', 'my_nodes')
        ->condition('status', 1)
        ->sort('created', 'DESC')
        ->condition('nid', '4856', '!=')
        ->accessCheck()
        ->execute();

After that, my function that was filling the select2 field no longer had null values for the fields it was trying to reference.

I suspect this has always been a problem and Drupal just passed over the null value before, but now it's less forgiving of sloppy code.

At any rate, this is not a priblem with select2 at all.

🇺🇸United States loopy1492

Thanks! Seems to be working for our site during pipelines ci run. I am adding a patch file from the MR diff for those who would rather use a flat patch file in composer.

🇺🇸United States loopy1492

I've created a Merge Request for the maintainers to merge and for us to use in our composer.json file.

🇺🇸United States loopy1492

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

🇺🇸United States loopy1492

I believe this patch should sort out the 3.x branch for Drupal 10.

🇺🇸United States loopy1492

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

🇺🇸United States loopy1492

So it appears this module has changed significantly between 3.x and 5.x. We have a custom module which uses a file upload field to get csv data and display it using a field preprocess function and a corresponding template.

It appears that the new version has this conversion built in. You just upload the file to the field and it generates your data points for you. This is really cool, but we already have hundreds of nodes and there's no way I can go through and re-upload everything.

I was hoping to use the charts view display and simpy embed the view on the nodes. However, the chart view mode will not accept a file field as a source of data.

Do the maintainers have any suggestions for migrating between 3.x and 5x with so many nodes or are we stuck re-uploading all the csv files?

🇺🇸United States loopy1492

And that's it. Looking at the charts_api_example in charts 5.x, it seems like that entire process has changed significantly. That means that this module and my custom module will absolutely not work without adjusting the preprocess function to match the new example.

🇺🇸United States loopy1492

As it turns out, charts 4.x and 5.x do not have this service listed in charts.services.yml. I can't imagine why local is working without it, but I'll have to figure out which service to invoke to make this work.

🇺🇸United States loopy1492

Yeah, I'm getting this now too. It happened after upgrading from charts 3.x to 5.x, realizing that wasn't going to work, then downgrading to 4.x again. Charts work fine locally, but for some reason, pushing to remote and running updb/cim this wsod occurs.

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "plugin.manager.charts_override". Did you mean one of these: "plugin.manager.charts", "plugin.manager.charts_type", "plugin.manager.archiver"? in Drupal\Component\DependencyInjection\Container->get() (line 157 of /var/www/html/docroot/core/lib/Drupal/Component/DependencyInjection/Container.php).

Gonna try a new cex locally, then push it up and see if that helps.

🇺🇸United States loopy1492

We have noticed that, if you have multiple video embeds in a WYSIWYG, it does not render the videos; it just displays the CK5 markdown instead.

One video:

Two videos:

I was hoping this issue would solve the problem, but I applied the patch and it does not: https://www.drupal.org/project/video_embed_field/issues/3371353 🐛 VideoEmbedWysiwyg::getValidMatches() does not detect two videos next to each other Needs review

🇺🇸United States loopy1492

Although I've pushed what I believe are decent changes to the other thread, there are still some diffs between the two. I did this branch from scratch, I've tested it, and it seems to be working for me, so I'm going with this one. Attached please find a new static patch file.

🇺🇸United States loopy1492

This is a duplicate of https://www.drupal.org/project/webform_scheduled_tasks/issues/3371376 📌 Drupal 10 compatibility Closed: duplicate but I've been using the branch here to figure out what was wrong with that one.

🇺🇸United States loopy1492

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

🇺🇸United States loopy1492

So, when I downgrade to 4.x, Charts runs the following:

> charts 8302 hook_update_n 8302 - Update existing views to use the new chart settings.

but when I run cex, I'm not seeing any changes to my views config.

🇺🇸United States loopy1492

I keep getting this error no matter what I do:

TypeError: Drupal\webform_scheduled_tasks\Plugin\WebformScheduledTasks\Task\EmailedExport::__construct(): Argument #9 ($fileUrlGenerator) must be of type Drupal\webform_scheduled_tasks\Plugin\WebformScheduledTasks\Task\FileUrlGenerator, Drupal\Core\File\FileUrlGenerator given, called in /var/www/docroot/modules/contrib/webform_scheduled_tasks/src/Plugin/WebformScheduledTasks/Task/EmailedExport.php on line 114 in Drupal\webform_scheduled_tasks\Plugin\WebformScheduledTasks\Task\EmailedExport->__construct() (line 91 of /var/www/docroot/modules/contrib/webform_scheduled_tasks/src/Plugin/WebformScheduledTasks/Task/EmailedExport.php).

Someone who actually understands this module is probably going to have to fix this.

🇺🇸United States loopy1492

I am not entirely sure this is correct, but it seems to have resolved the error:

https://git.drupalcode.org/project/webform_scheduled_tasks/-/merge_reque...

🇺🇸United States loopy1492

New static patch uploaded.

🇺🇸United States loopy1492

It looks like a line was accidentally left in on EmailedExportFileDownloadAccessTest. I have removed it.

🇺🇸United States loopy1492

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

🇺🇸United States loopy1492

Yep. Had the same issue. Had to downgrade to 2.x-dev for our d10 prep story, then switch to 3.0 when we did the actual d10 upgrade.

🇺🇸United States loopy1492

Well, in the mean-time, thanks for keeping the patches updated @Wouter Waeytens .

🇺🇸United States loopy1492

Right on. I've merged my branch into yours. Posting a new patch now for people to use, though they will still need to pin the 3206676-start-a-3.0.x branch in order to disable the ckedior 4 module.

🇺🇸United States loopy1492

My latest commit removes the composer requirement for ckeditor and adds ckeditor5 as a dependency on the wysiwyg module.

Do note that if you are using blt drupal:sync:default:db during your remote ci run, you will actually need to keep drupal/ckeditor required in the codebase until the next release. I recommend just doing one release with the dependency, then a quck bugfix release with the dependency removed after that is deployed. Ref: https://github.com/acquia/blt/issues/4687

Production build 0.71.5 2024