Quantcast
Channel: Issues for Drupal core
Viewing all 291535 articles
Browse latest View live

Combined Field Filter not compatible with 'or' filter grouping

$
0
0

Problem/Motivation

I have a view where I am rendering a map in views which displays 2 content types. One content type must display all the time, the other content type has filters applied to it. The views filter grouping works fine until I add the combined field filter, which won't work unless grouping is set to 'and' (which filters out the first content type).

Steps to reproduce

Create 2 content types with various fields to filter. In my case, there are taxonomy reference fields, which have views relationships so the taxonomy term name can be used in the combined field filter.

One content type does not have all the fields associated with the second content type. It should appear regardless of what filters are selected, and for the most part this works using an 'or' filter grouping until I add the 'search' textfield (combined field filter).

  • Filter group 1
  1. Content Published: yes
  2. Content Type = Content Type 1

OR

  • Filter group 2
  1. Content Published: yes
  2. Content Type = Content Type 2
  3. taxonomy filter A (works)
  4. taxonomy filter B (works)
  5. Global Combined Field Filter (text search - doesn't apply)

In the above scenario, all of this works until I add the combined field filter. The Combined Field Filter works if I don't group the filters, but then it will try to apply to the first content type which we want to always appear on the map.

Also, I tried moving the 2nd content type and its related filters into the first grouping - I think I saw in another issue that the combined filter should be in the first group, but that didn't have any impact on the results.

It feels like a bug, but if there's a way to accomplish this that I haven't considered, please let me know.


index.php randomly appears in friendly URLs

$
0
0

Problem/Motivation

Intermittently, index.php appears in our friendly URLs and it's always in the same spot, right after the first slash like it would be if you weren't using friendly URLs. Example: www.marshall.usc.edu/index.php/some/pattern/page.

This is reported to happen on both apache and nginx.

Steps to reproduce

One way to replicate was posted by marcaddeo in #2642126-13: [regression] Rewriting allows index.php/foo/bar URLs to function

  1. Using drush, clear the cache. drush @site.alias cr
  2. Immediately go to http://your.site.com/index.php
  3. Hover over any menu links, they will now have index.php prefixed on all of them, e.g. /index.php/user/1
  4. Go to http://your.site.com/
  5. All cached generated links will still be prefixed with /index.php/, e.g. /index.php/user/1

Proposed resolution

TBA

Remaining tasks

TBA

User interface changes

API changes

Data model changes

Release notes snippet

Original Issue Summary
Please note that this issue affects more than one version of Drupal, and my selection of the path.module was only a guess at what might be responsible. It might be noteworthy to mention that we are using the Pathauto module.

Intermittently, index.php appears in our friendly URLs and it's always in the same spot, right after the first slash like it would be if you weren't using friendly URLs. Example: www.marshall.usc.edu/index.php/some/pattern/page

After much research I found that our site is not the only site experiencing this issue but no one seems to know exactly what causes it. From the threads I've been reading, there is speculation that the bug may not be in core itself, that it may be introduced by one or more modules. But in our case we're either not using one of the speculated modules, or disabling it didn't solve the issue.

Hence the reason I am creating this Issue Report. I don't think anyone would ever want /index.php/ included in their friendly URLs, so why not just add some code to core to make sure it doesn't do that, ever!!

What are the steps required to reproduce the bug?
Unknown

What behavior were you expecting?
/index.php/ should never be included in a URL path when friendly URLs and Pathauto are being used.

What happened instead?
I think we covered that.

Please include as much information as you can:
OS: nginx
webserver name and version: Unknown (this happens on sites on Platform.sh and Acquia though, for what that is worth)
PHP version: 7.X
Drupal version: We are on the latest release of 8, but I read threads of it happening on 7 too.
Drupal path: site (web) root
Everything else you might feel is relevant:
I provided everything I can think of, but I'd be happen to answer any questions that might help.

Views ajax reload is removing contextual links

$
0
0

Problem/Motivation

When ajax and contextual links are enabled on a view, after triggering an ajax reload the contextual links block disappears.

Steps to reproduce:
- Go to the core Content view configuration
- Enable contextual filters
- Enable ajax
- Add enough content to show the pager (or set the pager amount low enough)
- Go to the content view
- See the contextual links
- Navigate to the next page
- Don't see the contextual link

Proposed resolution

Make sure the contextual link are added after a ajax reload.

Remaining tasks

- find the problem
- fix
- write tests

User interface changes

The contextual links don't disappear.

Original report

i have a view page of titles with a mini-pager. Views AJAX setting is on. On page load I the top rhs context menu is active on hover. when i page the view i lose it until page reload.

This is also breaking ajax_link_api module functionality in the same way. i.e. ajax breaks after first pager click.

Prevent accidental lockouts on the Role settings page and clarify the corresponding description for its select box

$
0
0

Problem/Motivation

The following happened on the production site of one of the Drupal Dojo Austin attendees. Two persons persons were unable to get access to any of the admin menu items while someone else had a greatly truncated list of admin menu items. The debugging and finding the root cause took a day or two. During that time nothing else got done nor anyone could access the site. In the end it turned out that the attendee changed the administration role on admin/people/role-settings by accident to content editor. That caused that all permissions for the content editor role got checked and greyed out while all administrator role permissions got unchecked. I've illustrated the scenario in the attached video: https://www.drupal.org/files/issues/2022-07-01/lockout.mov (*sorry for the long pageloads but the combination of a screen recording while docker is running is demanding for my old computer). The issues illustrated in the attached video are:

- If you have a user with the administrator and authenticated user role and you change the administrator role as this user from administrator to content editor you get forwarded to an Access denied page. You are completely locked out of the admin menu.
Let's assume the worst case scenario you have a site with a group of four admin accounts and one super admin account. The super admin is on vacation or on a business trip or something else happened to the person so that he or she is unavailable for several days or weeks. Now one of those four accounts changes the role in the Role settings by accident as happened above. The four admin users would be completely locked out. Or in case #540008: Remove the special behavior of uid #1. lands there wouldn't be any super admin account able to correct the oversight even and regain access would be even more complicated.

- The description of the select box on the Role settings page is incorrect and creates false expectations:
This role will be automatically assigned new permissions whenever a module is enabled. Changing this setting will not affect existing permissions.
The statement that changing this setting will not affect existing permissions applies to every role except the administrator role. Problem with the administrator role in the standard profile - on install it is set as the administration role and every checkbox is selected. If you change now the administrator role on the Role settings page the permissions of the administrator role get reset to its defaults. If you take a look at the default permissions assigned in the standard profile: https://git.drupalcode.org/project/drupal/-/blob/9.5.x/core/profiles/sta... it is clear why after changing the administrator role on the role settings page all checkboxes are unchecked. Since the administrator role is the role that is assigned initially for the standard profile install and changed later on it is a potential source of confusion and problems.

Steps to reproduce

- Create a new user and assign the authenticated and administrator role (aside user #1)
- Log in with that new admin user
- Got to admin/people/role-settings
- Change the administrator role from administrator to content editor
- You will get an Access denied page and be locked out completely

I've checked in Drupal 9.4.1 and Drupal 10.0.x-dev. The problem applies to both versions.

Proposed resolution

- One option would be to add a confirmation dialogue asking the user if he or she is sure about the step and the possible consequences.
- Another level of safety would be to test if the user applying the change on the Roles settings page has still the permission administer roles and permissions in one of his/her roles. That way even if the user lacks permissions to see the admin menu and admin page it would be at least possible still to access the Role settings page:
roles settings page shown in olivero - a user with only the administer roles and permissions ability
That way the user would see immediately something is off and is still able to correct the mistake on his or her own.
- Depending on the changes applied the description underneath the select box on the Role settings page needs an adjustment.

Addendum: The issue was discovered and discussed during the Drupal Dojo in Austin over the course of two or three consecutive weeks. It would be good if someone could provide @cutehair and @rocketeerbkw an issue credit since both helped discovering and understanding this as well as the issue linked as a related issue.

[meta] Priorities for 2022-12-07 release of Drupal 7

$
0
0

Assorted todo lists carried over from #3259739: [meta] Priorities for 2022-06-01 release of Drupal 7.

These are not necessarily in priority order.

Top priorities

For consideration

Issues which have had recent activity, and are RTBC.

Simple Fixes:

Important Fixes:

Unsorted Fixes:

Url::createFromRequest is inconsistent in name and functionality

$
0
0

Problem/Motivation

Four public and three protected methods of the Url object are named from*. Except createFromRequest. There are only two that doesn't take options. One of them is createFromRequest.

Proposed resolution

Add fromRequest, deprecate createFromRequest. Pass everything we can from the request to the Url constructor.

Remaining tasks

Tests.

User interface changes

API changes

Added fromRequest.

Data model changes

Attributes of a block content are applied to block itself

$
0
0

If a block returns a renderable array and the array has direct attibutes they will be "stolen" from the original content and applied to the block itself.

For example a if a block returns something like this:

array(
  '#attributes' => array(
    'class' => array(
      'foo-bar'
    ),
    'data-test' => 'This is just a test'
  ),
  '#markup' => 'This is block content'
);

The rendered HTML will be:

<div id="block-foobartest" class="foo-bar" data-test="This is just a test">
  This is block content.
</div>

instead of:

<div id="block-foobartest">
  <div class="content foo-bar" data-test="This is just a test">
    This is block content.
  </div>
</div>

This is especially bad for blocks that represent forms since none of the form attributes is preserved.

Warning on CKEditor::getJSSettings for Plugins with no external file

$
0
0

Problem/Motivation

I noticed a warning in our production system and started debugging it:

Warning: file_get_contents(): Filename cannot be empty in _locale_parse_js_file()
...
#4 .../core/modules/ckeditor/src/Plugin/Editor/CKEditor.php(305): locale_js_translate(Array)

We have plugin which extends StylesCombo plugin and have overwritten getLibraries(). For libraries to be loaded, it requires isInternal() to return false.

Basicly something like:

class MyStylesCombo extends StylesCombo {

  public function getLibraries() {
    return ['myLib/myStyle'];
  }

  public function isInternal() {
    return FALSE;
  }

}

Now we get a warning the CKEditor is loaded, as getFile() returns FALSE. I can't add anything here, as I have no JS file which needs to be loaded at this point.

Proposed resolution

Two proposals:

❌ 1. In CKEditor::getJSSettings filter empty values (this directly removes this warning)

    // Parse all CKEditor plugin JavaScript files for translations.
    if ($this->moduleHandler->moduleExists('locale')) {
+    $external_plugin_files = array_filter($external_plugin_files);
      locale_js_translate(array_values($external_plugin_files));
    }

✅ 2. In CKEditor::getLibraries allow internal plugins to have libraries (this would allow us to return TRUE for isInternal() and then the point with the warning is not reached for this plugin)

-    $enabled_plugins = array_keys($this->ckeditorPluginManager->getEnabledPluginFiles($editor));
+   $enabled_plugins = array_keys($this->ckeditorPluginManager->getEnabledPluginFiles($editor, TRUE));

Remaining tasks

  • Decide which proposal should be used - 1 or 2 or both
  • Write a patch (basic idea see proposal) - Novice task

User interface changes

none

API changes

none

Data model changes

none


File system subfolder

$
0
0

In core 7, I use the media browser to upload images in batches. I can only put images in one folder. Each image is about 700kb. I am worried that when the number of pictures reaches 5 million, the performance of the website will not be able to meet the use? Is there any way to make the file system automatically create subfolders, such as creating a folder every month. Thanks for all the tips and help.

file_managed FAPI field: TypeError: this.value is undefined

$
0
0

Setting to 8.4.x because someone will anyway, but I don't know if this applies to Drupal 8.

Using the file_managed element type with the form API, and using the #upload_validators FAPI property with file_validate_extensions, after selecting a file from the local file system for upload, the console emits

TypeError: this.value is undefined

.

validateExtension() is being attached to the <div> that contains the <input>'s. The div has no value attribue. I think file_managed_file_process() is the function that sets Drupal.settings.file. The file behavior iterates over Drupal.settings.file.

To repoduce you can use this module and go to /admin/custom:

function hook_menu() {
  $items['admin/custom'] = array(
    "title" => "Blah",
    "page callback" => "drupal_get_form",
    "page arguments" => array("blah_form"),
  );  
  return $items;
}

function blah_form($form, $form_state) {
  $form['file'] = array(
    '#type' => 'managed_file',
    '#upload_validators' => array(
      'file_validate_extensions' => array(
        'xml'
      ),
    ),  
  );  
  return $form;
}

Language override save event not fired when config is renamed

$
0
0

Problem/Motivation

The \Drupal\language\Config\LanguageConfigOverrideEvents::SAVE_OVERRIDE event is not fired when config is renamed, making it impossible to react to language override renames.

Proposed resolution

Save the renamed config using the \Drupal\language\Config\LanguageConfigOverride object, which will trigger the proper event.

Remaining tasks

Review the patch.

User interface changes

None.

API changes

\Drupal\language\Config\LanguageConfigOverrideEvents::SAVE_OVERRIDE is now fired when config is renamed.

Data model changes

None.

JSON API Exception response exposing database table name

$
0
0

When there is an exception in JSON API endpoint call for example if invalid value passed to an endpoint parameter JSON API response back with JSON object and details message looks something as below.

Requesting a feature to hide those error messages and return some generic error messages and for authenticated call may be we could check certain user permission to view details error message.

Here's a sample endpoint : /jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1

We passed : page[offset]=-1 ( where value should be positive integer)

{
"jsonapi": {
"version": "1.0",
"meta": {
"links": {
"self": {
"href": "http://jsonapi.org/format/1.0/"
}
}
}
},
"errors": [
{
"title": "Internal Server Error",
"status": "500",
"detail": "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6: SELECT \"base_table\".\"revision_id\" AS \"revision_id\", \"base_table\".\"id\" AS \"id\"\nFROM\n\"menu_link_content\" \"base_table\"\nINNER JOIN \"menu_link_content_data\" \"menu_link_content_data\" ON \"menu_link_content_data\".\"id\" = \"base_table\".\"id\"\nWHERE \"menu_link_content_data\".\"bundle\" = :db_condition_placeholder_0\nGROUP BY base_table.revision_id, base_table.id\nLIMIT 4 OFFSET -1; Array\n(\n    [:db_condition_placeholder_0] => knowledge-main-navigation\n)\n",
"links": {
"via": {
"href": "https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1"
},
"info": {
"href": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1"
}
}
}
]
}

If we run that endpoint as an authenticated user it gives full stack trace messages.

{
"jsonapi": {
"version": "1.0",
"meta": {
"links": {
"self": {
"href": "http://jsonapi.org/format/1.0/"
}
}
}
},
"errors": [
{
"title": "Internal Server Error",
"status": "500",
"detail": "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6: SELECT \"base_table\".\"revision_id\" AS \"revision_id\", \"base_table\".\"id\" AS \"id\"\nFROM\n\"menu_link_content\" \"base_table\"\nINNER JOIN \"menu_link_content_data\" \"menu_link_content_data\" ON \"menu_link_content_data\".\"id\" = \"base_table\".\"id\"\nWHERE \"menu_link_content_data\".\"bundle\" = :db_condition_placeholder_0\nGROUP BY base_table.revision_id, base_table.id\nLIMIT 4 OFFSET -1; Array\n(\n    [:db_condition_placeholder_0] => knowledge-main-navigation\n)\n",
"links": {
"via": {
"href": "https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1"
},
"info": {
"href": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1"
}
},
"source": {
"file": "/app/docroot/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php",
"line": 49
},
"meta": {
"exception": "PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6 in /app/docroot/core/lib/Drupal/Core/Database/StatementWrapper.php:116\nStack trace:\n#0 /app/docroot/core/lib/Drupal/Core/Database/StatementWrapper.php(116): PDOStatement->execute(Array)\n#1 /app/docroot/core/lib/Drupal/Core/Database/Connection.php(874): Drupal\\Core\\Database\\StatementWrapper->execute(Array, Array)\n#2 /app/docroot/core/lib/Drupal/Core/Database/Query/Select.php(512): Drupal\\Core\\Database\\Connection->query('SELECT \"base_ta...', Array, Array)\n#3 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(271): Drupal\\Core\\Database\\Query\\Select->execute()\n#4 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(83): Drupal\\Core\\Entity\\Query\\Sql\\Query->result()\n#5 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(490): Drupal\\Core\\Entity\\Query\\Sql\\Query->execute()\n#6 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\jsonapi\\Controller\\EntityResource->Drupal\\jsonapi\\Controller\\{closure}()\n#7 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(491): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#8 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(405): Drupal\\jsonapi\\Controller\\EntityResource->executeQueryInRenderContext(Object(Drupal\\Core\\Entity\\Query\\Sql\\Query), Object(Drupal\\Core\\Cache\\CacheableMetadata))\n#9 [internal function]: Drupal\\jsonapi\\Controller\\EntityResource->getCollection(Object(Drupal\\jsonapi_extras\\ResourceType\\ConfigurableResourceType), Object(Symfony\\Component\\HttpFoundation\\Request))\n#10 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)\n#11 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#12 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#13 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)\n#14 /app/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#15 /app/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#16 /app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#17 /app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\\Core\\StackMiddleware\\Session->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#18 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\\Core\\StackMiddleware\\KernelPreHandle->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#19 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\\page_cache\\StackMiddleware\\PageCache->pass(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#20 /app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\\page_cache\\StackMiddleware\\PageCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#21 /app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#22 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#23 /app/docroot/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#24 /app/docroot/index.php(19): Drupal\\Core\\DrupalKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#25 {main}\n\nNext Drupal\\Core\\Database\\DatabaseExceptionWrapper: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6: SELECT \"base_table\".\"revision_id\" AS \"revision_id\", \"base_table\".\"id\" AS \"id\"\nFROM\n\"menu_link_content\" \"base_table\"\nINNER JOIN \"menu_link_content_data\" \"menu_link_content_data\" ON \"menu_link_content_data\".\"id\" = \"base_table\".\"id\"\nWHERE \"menu_link_content_data\".\"bundle\" = :db_condition_placeholder_0\nGROUP BY base_table.revision_id, base_table.id\nLIMIT 4 OFFSET -1; Array\n(\n    [:db_condition_placeholder_0] => knowledge-main-navigation\n)\n in /app/docroot/core/lib/Drupal/Core/Database/Driver/mysql/ExceptionHandler.php:53\nStack trace:\n#0 /app/docroot/core/lib/Drupal/Core/Database/Connection.php(911): Drupal\\Core\\Database\\Driver\\mysql\\ExceptionHandler->handleExecutionException(Object(PDOException), Object(Drupal\\Core\\Database\\StatementWrapper), Array, Array)\n#1 /app/docroot/core/lib/Drupal/Core/Database/Query/Select.php(512): Drupal\\Core\\Database\\Connection->query('SELECT \"base_ta...', Array, Array)\n#2 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(271): Drupal\\Core\\Database\\Query\\Select->execute()\n#3 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(83): Drupal\\Core\\Entity\\Query\\Sql\\Query->result()\n#4 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(490): Drupal\\Core\\Entity\\Query\\Sql\\Query->execute()\n#5 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\jsonapi\\Controller\\EntityResource->Drupal\\jsonapi\\Controller\\{closure}()\n#6 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(491): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#7 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(405): Drupal\\jsonapi\\Controller\\EntityResource->executeQueryInRenderContext(Object(Drupal\\Core\\Entity\\Query\\Sql\\Query), Object(Drupal\\Core\\Cache\\CacheableMetadata))\n#8 [internal function]: Drupal\\jsonapi\\Controller\\EntityResource->getCollection(Object(Drupal\\jsonapi_extras\\ResourceType\\ConfigurableResourceType), Object(Symfony\\Component\\HttpFoundation\\Request))\n#9 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)\n#10 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#11 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#12 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)\n#13 /app/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#14 /app/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#15 /app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#16 /app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\\Core\\StackMiddleware\\Session->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#17 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\\Core\\StackMiddleware\\KernelPreHandle->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#18 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\\page_cache\\StackMiddleware\\PageCache->pass(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#19 /app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\\page_cache\\StackMiddleware\\PageCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#20 /app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#21 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#22 /app/docroot/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#23 /app/docroot/index.php(19): Drupal\\Core\\DrupalKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#24 {main}\n\nNext Symfony\\Component\\HttpKernel\\Exception\\HttpException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6: SELECT \"base_table\".\"revision_id\" AS \"revision_id\", \"base_table\".\"id\" AS \"id\"\nFROM\n\"menu_link_content\" \"base_table\"\nINNER JOIN \"menu_link_content_data\" \"menu_link_content_data\" ON \"menu_link_content_data\".\"id\" = \"base_table\".\"id\"\nWHERE \"menu_link_content_data\".\"bundle\" = :db_condition_placeholder_0\nGROUP BY base_table.revision_id, base_table.id\nLIMIT 4 OFFSET -1; Array\n(\n    [:db_condition_placeholder_0] => knowledge-main-navigation\n)\n in /app/docroot/core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php:49\nStack trace:\n#0 [internal function]: Drupal\\jsonapi\\EventSubscriber\\DefaultExceptionSubscriber->onException(Object(Symfony\\Component\\HttpKernel\\Event\\ExceptionEvent), 'kernel.exceptio...', Object(Drupal\\Component\\EventDispatcher\\ContainerAwareEventDispatcher))\n#1 /app/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\\Component\\HttpKernel\\Event\\ExceptionEvent), 'kernel.exceptio...', Object(Drupal\\Component\\EventDispatcher\\ContainerAwareEventDispatcher))\n#2 /app/vendor/symfony/http-kernel/HttpKernel.php(219): Drupal\\Component\\EventDispatcher\\ContainerAwareEventDispatcher->dispatch(Object(Symfony\\Component\\HttpKernel\\Event\\ExceptionEvent), 'kernel.exceptio...')\n#3 /app/vendor/symfony/http-kernel/HttpKernel.php(91): Symfony\\Component\\HttpKernel\\HttpKernel->handleThrowable(Object(Drupal\\Core\\Database\\DatabaseExceptionWrapper), Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#4 /app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#5 /app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\\Core\\StackMiddleware\\Session->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#6 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\\Core\\StackMiddleware\\KernelPreHandle->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#7 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\\page_cache\\StackMiddleware\\PageCache->pass(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#8 /app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\\page_cache\\StackMiddleware\\PageCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#9 /app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#10 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#11 /app/docroot/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#12 /app/docroot/index.php(19): Drupal\\Core\\DrupalKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#13 {main}",
"trace": [
{
"function": "onException",
"class": "Drupal\\jsonapi\\EventSubscriber\\DefaultExceptionSubscriber",
"type": "->",
"args": [
null,
"kernel.exception",
null
]
},
{
"file": "/app/docroot/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php",
"line": 142,
"function": "call_user_func",
"args": [
[
null,
"onException"
],
null,
"kernel.exception",
null
]
},
{
"file": "/app/vendor/symfony/http-kernel/HttpKernel.php",
"line": 219,
"function": "dispatch",
"class": "Drupal\\Component\\EventDispatcher\\ContainerAwareEventDispatcher",
"type": "->",
"args": [
null,
"kernel.exception"
]
},
{
"file": "/app/vendor/symfony/http-kernel/HttpKernel.php",
"line": 91,
"function": "handleThrowable",
"class": "Symfony\\Component\\HttpKernel\\HttpKernel",
"type": "->",
"args": [
"PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6 in /app/docroot/core/lib/Drupal/Core/Database/StatementWrapper.php:116\nStack trace:\n#0 /app/docroot/core/lib/Drupal/Core/Database/StatementWrapper.php(116): PDOStatement->execute(Array)\n#1 /app/docroot/core/lib/Drupal/Core/Database/Connection.php(874): Drupal\\Core\\Database\\StatementWrapper->execute(Array, Array)\n#2 /app/docroot/core/lib/Drupal/Core/Database/Query/Select.php(512): Drupal\\Core\\Database\\Connection->query('SELECT \"base_ta...', Array, Array)\n#3 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(271): Drupal\\Core\\Database\\Query\\Select->execute()\n#4 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(83): Drupal\\Core\\Entity\\Query\\Sql\\Query->result()\n#5 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(490): Drupal\\Core\\Entity\\Query\\Sql\\Query->execute()\n#6 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\jsonapi\\Controller\\EntityResource->Drupal\\jsonapi\\Controller\\{closure}()\n#7 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(491): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#8 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(405): Drupal\\jsonapi\\Controller\\EntityResource->executeQueryInRenderContext(Object(Drupal\\Core\\Entity\\Query\\Sql\\Query), Object(Drupal\\Core\\Cache\\CacheableMetadata))\n#9 [internal function]: Drupal\\jsonapi\\Controller\\EntityResource->getCollection(Object(Drupal\\jsonapi_extras\\ResourceType\\ConfigurableResourceType), Object(Symfony\\Component\\HttpFoundation\\Request))\n#10 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)\n#11 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#12 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#13 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)\n#14 /app/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#15 /app/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#16 /app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#17 /app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\\Core\\StackMiddleware\\Session->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#18 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\\Core\\StackMiddleware\\KernelPreHandle->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#19 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\\page_cache\\StackMiddleware\\PageCache->pass(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#20 /app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\\page_cache\\StackMiddleware\\PageCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#21 /app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#22 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#23 /app/docroot/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#24 /app/docroot/index.php(19): Drupal\\Core\\DrupalKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#25 {main}\n\nNext Drupal\\Core\\Database\\DatabaseExceptionWrapper: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 6: SELECT \"base_table\".\"revision_id\" AS \"revision_id\", \"base_table\".\"id\" AS \"id\"\nFROM\n\"menu_link_content\" \"base_table\"\nINNER JOIN \"menu_link_content_data\" \"menu_link_content_data\" ON \"menu_link_content_data\".\"id\" = \"base_table\".\"id\"\nWHERE \"menu_link_content_data\".\"bundle\" = :db_condition_placeholder_0\nGROUP BY base_table.revision_id, base_table.id\nLIMIT 4 OFFSET -1; Array\n(\n    [:db_condition_placeholder_0] => knowledge-main-navigation\n)\n in /app/docroot/core/lib/Drupal/Core/Database/Driver/mysql/ExceptionHandler.php:53\nStack trace:\n#0 /app/docroot/core/lib/Drupal/Core/Database/Connection.php(911): Drupal\\Core\\Database\\Driver\\mysql\\ExceptionHandler->handleExecutionException(Object(PDOException), Object(Drupal\\Core\\Database\\StatementWrapper), Array, Array)\n#1 /app/docroot/core/lib/Drupal/Core/Database/Query/Select.php(512): Drupal\\Core\\Database\\Connection->query('SELECT \"base_ta...', Array, Array)\n#2 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(271): Drupal\\Core\\Database\\Query\\Select->execute()\n#3 /app/docroot/core/lib/Drupal/Core/Entity/Query/Sql/Query.php(83): Drupal\\Core\\Entity\\Query\\Sql\\Query->result()\n#4 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(490): Drupal\\Core\\Entity\\Query\\Sql\\Query->execute()\n#5 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\jsonapi\\Controller\\EntityResource->Drupal\\jsonapi\\Controller\\{closure}()\n#6 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(491): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#7 /app/docroot/core/modules/jsonapi/src/Controller/EntityResource.php(405): Drupal\\jsonapi\\Controller\\EntityResource->executeQueryInRenderContext(Object(Drupal\\Core\\Entity\\Query\\Sql\\Query), Object(Drupal\\Core\\Cache\\CacheableMetadata))\n#8 [internal function]: Drupal\\jsonapi\\Controller\\EntityResource->getCollection(Object(Drupal\\jsonapi_extras\\ResourceType\\ConfigurableResourceType), Object(Symfony\\Component\\HttpFoundation\\Request))\n#9 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)\n#10 /app/docroot/core/lib/Drupal/Core/Render/Renderer.php(578): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#11 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\\Core\\Render\\Renderer->executeInRenderContext(Object(Drupal\\Core\\Render\\RenderContext), Object(Closure))\n#12 /app/docroot/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)\n#13 /app/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\\Core\\EventSubscriber\\EarlyRenderingControllerWrapperSubscriber->Drupal\\Core\\EventSubscriber\\{closure}()\n#14 /app/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#15 /app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#16 /app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\\Core\\StackMiddleware\\Session->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#17 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\\Core\\StackMiddleware\\KernelPreHandle->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#18 /app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\\page_cache\\StackMiddleware\\PageCache->pass(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#19 /app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\\page_cache\\StackMiddleware\\PageCache->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#20 /app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#21 /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\\Core\\StackMiddleware\\NegotiationMiddleware->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#22 /app/docroot/core/lib/Drupal/Core/DrupalKernel.php(717): Stack\\StackedHttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#23 /app/docroot/index.php(19): Drupal\\Core\\DrupalKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#24 {main}",
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1
]
},
{
"file": "/app/docroot/core/lib/Drupal/Core/StackMiddleware/Session.php",
"line": 57,
"function": "handle",
"class": "Symfony\\Component\\HttpKernel\\HttpKernel",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php",
"line": 47,
"function": "handle",
"class": "Drupal\\Core\\StackMiddleware\\Session",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php",
"line": 106,
"function": "handle",
"class": "Drupal\\Core\\StackMiddleware\\KernelPreHandle",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/modules/page_cache/src/StackMiddleware/PageCache.php",
"line": 85,
"function": "pass",
"class": "Drupal\\page_cache\\StackMiddleware\\PageCache",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php",
"line": 47,
"function": "handle",
"class": "Drupal\\page_cache\\StackMiddleware\\PageCache",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php",
"line": 52,
"function": "handle",
"class": "Drupal\\Core\\StackMiddleware\\ReverseProxyMiddleware",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/vendor/stack/builder/src/Stack/StackedHttpKernel.php",
"line": 23,
"function": "handle",
"class": "Drupal\\Core\\StackMiddleware\\NegotiationMiddleware",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/core/lib/Drupal/Core/DrupalKernel.php",
"line": 717,
"function": "handle",
"class": "Stack\\StackedHttpKernel",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n",
1,
true
]
},
{
"file": "/app/docroot/index.php",
"line": 19,
"function": "handle",
"class": "Drupal\\Core\\DrupalKernel",
"type": "->",
"args": [
"GET /jsonapi/menu_link_content/knowledge-main-navigation?page%5Blimit%5D=3&page%5Boffset%5D=-1 HTTP/1.1\r\nAccept:                    text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\nAccept-Encoding:           gzip, deflate, br\r\nAccept-Language:           en-US,en;q=0.9\r\nAuthorization:             \r\nCookie:                    _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680%7CMCIDTS%7C18926%7CMCMID%7C34959679752377400502730318467507568655%7CvVersion%7C5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\nHost:                      cbd8profile.lndo.site\r\nReferer:                   https://cbd8profile.lndo.site/jsonapi/menu_link_content/knowledge-main-navigation?page[limit]=3&page[offset]=-1\r\nSec-Ch-Ua:                 \"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", \";Not A Brand\";v=\"99\"\r\nSec-Ch-Ua-Mobile:          ?0\r\nSec-Ch-Ua-Platform:        \"macOS\"\r\nSec-Fetch-Dest:            document\r\nSec-Fetch-Mode:            navigate\r\nSec-Fetch-Site:            same-origin\r\nSec-Fetch-User:            ?1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent:                Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36\r\nX-Forwarded-For:           172.19.0.1\r\nX-Forwarded-Host:          cbd8profile.lndo.site\r\nX-Forwarded-Port:          443\r\nX-Forwarded-Proto:         https\r\nX-Forwarded-Server:        41223e7f65a0\r\nX-Lando:                   on\r\nX-Php-Ob-Level:            1\r\nX-Real-Ip:                 172.19.0.1\r\nCookie: _uetvid=2b7ed9d0a77111eb9a0ab998bfe2a0d8; AMCV_5E1B123F5245B29B0A490D45%40AdobeOrg=-1124106680|MCIDTS|18926|MCMID|34959679752377400502730318467507568655|vVersion|5.2.0; s_cc=true; SSESSaa73ec74db328beb8c2e305cdab31bb1=E7QPFEBFsCj26JxhkVKv99xMPnN9dfqpi8TcYjsj8oDPIJbb\r\n\r\n"
]
}
]
}
}
]
}

Using $form_state->getValue() in a layout plugin configuration form yields an uncaught exception

$
0
0

Problem/Motivation

\Drupal\layout_builder\Form\ConfigureSectionForm uses sub-form state to allow section layout plugins to present a configuration form.
These forms are unable to use the provided $form_state for complex AJAX interactions because the parent form does not set the #parents property

This results in an exception as follows: The subform and parent form must contain the %s property, which must be an array. Try calling this method from a #process callback instead.

Steps to reproduce

Create a section plugin and extend from LayoutDefault.
Implement ::buildConfigurationForm and call $form_state->getValue

Proposed resolution

Set the #parents property on the subform and parent form?

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

generate-theme scripts fails in a ddev environment

$
0
0

Problem/Motivation

Discovered while testing the text in the starterKit README being added in #3302654: Create Starterkit readme that the generate-theme script fails.

/var/www/html$ php core/scripts/drupal generate-theme my_new_theme
PHP Warning:  rename(): The first argument to copy() function cannot be a directory in /var/www/
html/core/lib/Drupal/Core/Command/GenerateTheme.php on line 255

Warning: rename(): The first argument to copy() function cannot be a directory in /var/www/html/
core/lib/Drupal/Core/Command/GenerateTheme.php on line 255
PHP Warning:  rename(/tmp/drupal-starterkit-theme-4d29d66ba84cfbc7b794cda7f2af844b62fd76f0d4ecc4
.41519162,themes/my_new_theme): Invalid cross-device link in /var/www/html/core/lib/Drupal/Core/
Command/GenerateTheme.php on line 255

Warning: rename(/tmp/drupal-starterkit-theme-4d29d66ba84cfbc7b794cda7f2af844b62fd76f0d4ecc4.4151
9162,themes/my_new_theme): Invalid cross-device link in /var/www/html/core/lib/Drupal/Core/Comma
nd/GenerateTheme.php on line 255
                                                                    
 [ERROR] The theme could not be moved to the destination: themes/my_new_theme. 

Discovered this old gem, https://bugs.php.net/bug.php?id=54097.

If partitions are an issue, I do not know what ddev does. However, my host does have /tmp in a separate LVM.

Steps to reproduce

  1. Use a ddev environment for Drupal
  2. ddev ssh
  3. php core/scripts/drupal generate-theme my_new_theme

Proposed resolution

Instead of using rename, do a recursive copy.

Remaining tasks

Patch
Review
Commit

User interface changes

API changes

Data model changes

Release notes snippet

Discuss whether to decouple from Symfony Validator

$
0
0

Problem/Motivation

We've had to deal with quite a lot of deprecations in Symfony validator, which has been the main barrier to updating Symfony minor releases.

The most recent of these is #3029540: [Symfony 4] Sub class \Symfony\Component\Validator\ConstraintViolation and use that in \Drupal\Core\TypedData\Validation\ExecutionContext::addViolation(). There was also #2721179: Replace deprecated Symfony ExecutionContextInterface between Symfony 2 and 3.

This is a much higher maintenance burden than if we'd written a validator component ourselves.

The main issue we have is that we're exposing Symfony interfaces directly to contrib and custom code (I have custom validators written on client projects), which means any change Symfony makes directly impacts implementations.

This is very different to most other Symfony components (YAML, the container etc.) where interaction is either non-existent/extremely superficial and unlikely to be affected, or extremely rare and low level.

Proposed resolution

Couple of ideas:
1. Can we write some kind of layer so that validators implement Drupal rather than Symfony interfaces, then make them work for the Symfony internals?
2. How much code is there in the component itself that's not the validators? What if we froze the API and forked the internals (just changing the Symfony interfaces to a Drupal one). Are there other components that depend on Validator we'd then be incompatible with and would we actually be affected by this?

Other ideas welcome of course.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


Link Header Duplication

$
0
0

Problem/Motivation

When I enable base caching I am suddenly being overrun with the link header being set to nothing multiple times over and over. Like so:

Cache-Control => max-age=86400, public
Link => ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=style, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script, ; rel=preload; as=script

Has anyone run into this before or have any idea where I could start troubleshooting where it is getting hosed?

Thanks in advance.

JSON and other serialization formats should handle non-4xx exceptions, too.

$
0
0

Problem/Motivation

Despite claims to the contrary in various code snippets in the exception handling system, non-HTML requests to Drupal aren't that rare, anymore. Modules such as JSON-RPC and Simple OAuth work almost entirely over a JSON, for instance, but exceptions thrown while handling their routes many times come back as HTML.

I am working on getting exceptions thrown during Simple OAuth's processing (e.g., with an extension grant type) and even after adding a default _format: 'json' notation in the route's requirements, I still get HTML error pages.

This is because ExceptionJsonSubscriber and Serialization module's DefaultExceptionSubscriber (which overrides the former, if the module is enabled) both only explicitly handle 4xx.

JSON:API has its own DefaultExceptionSubscriber implementation which does also handle 5xx. I propose extracting this logic to the above two other handlers, so we can get mostly automatic exception handling on non-HTML routes.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

template_preprocess_username fails to set language attribute

$
0
0

The output of template_prprocess_username does not set a "lang" attribute for links to a user profile. This creates a wcag2AA failure.

BlockViewBuilder does not respect the view mode

$
0
0

Problem/Motivation

  public static function lazyBuilder($entity_id, $view_mode) {
    return static::buildPreRenderableBlock(entity_load('block', $entity_id), \Drupal::service('module_handler'));
  }

The $view_mode parameter is ignored. Doing something like
\Drupal::entityTypeManager()->getViewBuilder('block')->view($block, 'custom_view_mode');
results in the block being displayed in the 'default' view mode and not 'custom_view_mode'.

I'm not familiar enough with the D8 block systems but it seems it's due to the fact that regular block does not have view modes. The 'block_content' or custom blocks however does (the viewbuilder is quite different in that case).

So I don't know if the parameter should be removed or used ? My use case was making a custom block by extending BlockBase since this block would return always the same content (via the build method). and then having multiple view mode for this block (to get multiples templates).

Proposed resolution

???

Remaining tasks

Not clear.

User interface changes

NONE

API changes

Maybe ?

Data model changes

NONE

Implement a generic revision UI

$
0
0

Problem/Motivation

At the moment there is no generic revision UI, this means that every module with revisionable entities will need to create their own UI similar to the Node revision overview page (node/{node_id}/revisions. This means quite a bit of boilerplate code, especially for modules with multiply revisionable entities.

Steps to reproduce

Without the patch and contrib modules, there's no Revisions UI for entities other than nodes. This issue can be manually tested on Media and Blocks with some contrib modules that rely on some version of this patch.
Here's a custom entity that I tested with the same results. The .module is based on working code from a site that's using the patch, but it's also originally based on the work in media_revisions_ui.

* On a standard install, 9.5.0-dev

Node

* Add content of type Basic /node/add/page (revisions are enabled by default)
* Go to the Revisions UI, via the tab at the top /node/1/revisions
Revisions UI - nodes1
* Edit node a few times to get more revisions /node/1/edit
* Review the Revisions UI /node/1/revisions
Revisions UI - nodes2

Media

* Enable media module
* Add media of type Image /media/add/image (revisions are enabled by default)
* Edit Image, note there's no tab for Revisions UI /media/1/edit
Revisions UI - media1
* With the patch in #228, install and enable contrib media_revisions_ui dev-3.x
* Edit Image, note that there's a Revisions tab now. Edit a few times to get multiple revisions /media/1/edit
* Go to Revisions UI (tab), compare to Node revisions tab
Revisions UI - media2

Blocks

* Edit Basic block custom block type, and enable Create new revision /admin/structure/block/block-content/manage/basic
* Add custom block of type Basic /block/add/basic
* Edit block, note there's no tab for Revisions UI /block/1
Revisions UI - block1
* With the patch in #228, install and enable contrib block_content_revision_ui 2.127.2
* Edit block, note that there's a Revisions tab now. Edit a few times to get multiple revisions /block/1
* Go to Revisions UI (tab), compare to Node revisions tab
Revisions UI - block2
** Note the contrib block_content_revision_ui module doesn't use the admin theme by default

Revert using the Revisions UI

* Click Revert back to the first revision
/node/1/revisions/1/revert
/media/1/revisions/1/revert
/block/1/revision/1/revert (revision, singular)
* Get a confirmation page; Click Revert button
* Go back to the Revisions UI; now the current revision has been set back to the original (first) revision
Revisions UI - all

Proposed resolution

Create a route provider for generating revision list, revision revert form, revision delete form based derived from link templates.

Remaining tasks

  • Decide if we want to improve this in core
  • Create a plan
  • Implement the plan
  • Direction/decisions

    Items needing discussion

    • ✅Whether to continue blocking this issue on #3043321: Use generic access API for node and media revision UI, an access checker will be added and immediately deprecated.
    • ❌Whether Node should use this in this issue.
    • ✅Whether we should generate local tasks, or if entities should add their own.
    • Revert terminology updated to be agnostic of target revision' time.
    • Should we adopt Version terminology (per patch)?

    This list is a summary of some comments/discussion, re: the unresolved Revert terminology/adopt version term questions. Overall, most comments are in favor of the UI being addressed in another ticket, pending UX feedback. As far as code changes, there doesn't seem to be a clear consensus, which is summarized pretty well here:

    on the one hand UI issues shouldn't block this, but on the other it's turning one-off UI terminology into an API with the same language

    • should be questions for the UX team, #108& #109
    • UI change is a separate UX issue if we want to change it again, #109
    • Code change: I'm not sure there's a compelling reason to change it at all and it might make things less clear, #109
    • We're creating a bunch of classes with both Revert and Version, arriving at a decision earlier would be preferable to changing symbols in the future, #113
    • on the one hand UI issues shouldn't block this, but on the other it's turning one-off UI terminology into an API with the same language, so making the problem worse, #210
    • 'revert' has bothered me in this UI for years, since what this actually does is 'clone and publish' the revision it refers to, #210.
    • I've always read 'revert' in this context as reverting the *state of the entity* to that contained in the revision, #211
    • hope we can divert that discussion to a separate issue, #212
    • #2899719: Revision/version language on revision listing page is misleading with content moderation enabled, #218

    Blockers

    Patch to date for this issue relies on patches in these.

    User interface changes

    New opt-in UI based on features already established by Node.

    API changes

    None

    Data model changes

    None.

    Release notes snippet

    Viewing all 291535 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>