The reported issue has been resolved in drupal/canvas:1.0.0-rc1.
Form submission is working as expected.
I am still able to reproduce the issue on canvas-demo, following the steps outlined in the description.
@wim-leers, After form submission I am getting below error :
The website encountered an unexpected error. Try again later.
AssertionError: Bubbling failed. in assert() (line 623 of core/lib/Drupal/Core/Render/Renderer.php).
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 61)
Drupal\canvas\Element\RenderSafeComponentContainer->renderComponent()
call_user_func_array() (Line: 107)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 871)
Drupal\Core\Render\Renderer->doCallback() (Line: 433)
Drupal\Core\Render\Renderer->doRender() (Line: 505)
Drupal\Core\Render\Renderer->doRender() (Line: 505)
Drupal\Core\Render\Renderer->doRender() (Line: 222)
Drupal\Core\Render\Renderer->render() (Line: 491)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 49)
__TwigTemplate_194d672454fe15ac840d86c27828eb5c->doDisplay() (Line: 402)
Twig\Template->yield() (Line: 358)
Twig\Template->display() (Line: 373)
Twig\Template->render() (Line: 51)
Twig\TemplateWrapper->render() (Line: 34)
twig_render_template() (Line: 380)
Drupal\Core\Theme\ThemeManager->render() (Line: 492)
Drupal\Core\Render\Renderer->doRender() (Line: 505)
Drupal\Core\Render\Renderer->doRender() (Line: 222)
Drupal\Core\Render\Renderer->render() (Line: 242)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 622)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 235)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 131)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() (Line: 246)
Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 188)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 116)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 90)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 53)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 715)
Drupal\Core\DrupalKernel->handle() (Line: 19)
Verified below scenarios, @wim-leers, please check failed test cases: TC03 and TC08
Created separate ticket for TC07 and TC09 - https://www.drupal.org/project/canvas/issues/3550533 🐛 500 Error and delete option disabled for code component after Canvas/library/usage changes Active
Created separate issue for TC04 - https://www.drupal.org/project/canvas/issues/3549793 →
Re-verified the previously failed scenarios and can confirm those are now working as expected. Details below:
Reported issues are now resolved and changes are working as expected.
This issue can also be reproduced from the Manage Library section:
- Navigate to Manage Library > Code.
- Right-click on a code component or open the options menu (three dots).
- Select the Delete option.
After deleting the code component, the page redirects to:
https://canvas-dev.ddev.site/canvas/editor
@bnjmnm @jessebaker Please check failed scenarios mentioned above : TC05, TC06 and TC07
The changes are working as expected.
Followed the steps below to verify:
- Added a Basic Page (not a canvas page) with the title "my page" (
/node/add/page). - Opened
/canvasin a new tab. - Added a page so the menu appeared on the left.
- Clicked the "Templates" icon (bottom-most icon on the far left).
- Clicked "add new template".
- In the popup, selected Content Type: Basic page, Template name: full content, and clicked "add new template".
- Confirmed that the canvas page used the title "my page" from the Basic Page as expected, reflecting the Content Template with the preview content's title.
- Returned to the original Basic Page, edited the title to "my new title", and saved the changes.
- Went back to the canvas content template page and refreshed the browser tab.
- Observed that the title successfully updated and now displays "my new title".
Changes are functioning correctly and the preview entity label is now reflected as intended.
Verified the scenarios described below:
Steps followed:
Install the module using the following commands:
ddev composer require drupal/redirectddev drush en redirect
Attached the screenshot of the UI for the redirect module page:
I have created follow-up issues for the bugs identified above:
-
Cannot create or view folders in the "Manage Library" Code tab unless at least one code component exists:
https://www.drupal.org/project/canvas/issues/3545660 🐛 Can not create or view folders in "Manage Library" Code tab unless at least one code component exists Active -
No user-facing error is displayed when creating a new folder with a duplicate name in "Manage Library":
https://www.drupal.org/project/canvas/issues/3545655 🐛 No user-facing error when creating a new folder with a duplicate name in "Manage Library" Active -
Unable to delete code components from Manage Library due to a 403 error on delete:
https://www.drupal.org/project/canvas/issues/3544776 🐛 Cannot delete code component from Manage Library: 403 error on delete Active
If a user is granted the following permissions:
- Administer code components
- Administer content templates
They should be able to view and edit both code components and content templates. These permissions are intended to provide full access to manage and configure code components, as well as to create or modify content templates.
However, in this case, the entire page is not displaying for the user, which is unexpected. With the permissions above, the user should be able to:
- Access the code components section and perform actions such as creating, editing, and deleting code components.
- View, edit, and manage content templates.
- Use any related UI features tied specifically to code components and content templates within the system.
Please review this access control, as it appears the current behavior does not align with the intended permission level.
A user role content_editor is assigned the permissions Administer code components and Administer content templates. However, when a user with this role attempts to visit the canvas editing page (e.g., /canvas/editor/canvas_page/1), a 403 Forbidden error is encountered, preventing access to the editor.
The backend (BE) permissions appear correctly set, but the frontend (FE) does not allow the user to load the editor.
I have created separate ticket to resolve FE issue - https://www.drupal.org/project/canvas/issues/3546119 🐛 403 error on canvas editor page for "content_editor" role with "Administer code components" and "Administer content templates" permissions Postponed: needs info
Steps to Reproduce
- Create a user role named content_editor.
- Assign the following permissions to the role:
- Administer code components
- Administer content templates
- Log in with a user assigned the content_editor role.
- Visit
/canvas/editor/canvas_page/[PAGE_ID], such as /canvas/editor/canvas_page/1. - Observe that a 403 Forbidden error is displayed instead of the editor.
A user role content_editor is assigned the permissions Administer code components and Administer content templates. However, when a user with this role attempts to visit the canvas editing page (e.g., /canvas/editor/canvas_page/1), a 403 Forbidden error is encountered, preventing access to the editor.
The backend (BE) permissions appear correctly set, but the frontend (FE) does not allow the user to load the editor.
I have created separate ticket to resolve FE issue - https://www.drupal.org/project/canvas/issues/3546119 🐛 403 error on canvas editor page for "content_editor" role with "Administer code components" and "Administer content templates" permissions Postponed: needs info
Steps to Reproduce
- Create a user role named content_editor.
- Assign the following permissions to the role:
- Administer code components
- Administer content templates
- Log in with a user assigned the content_editor role.
- Visit
/canvas/editor/canvas_page/[PAGE_ID], such as /canvas/editor/canvas_page/1. - Observe that a 403 Forbidden error is displayed instead of the editor.
mayur-sose → created an issue.
mayur-sose → created an issue.
mayur-sose → created an issue.
Verified below scenarios and please check failing scenarios TC9, TC10 and TC19:
After renaming the cookie and reloading the page, I am getting the following session timeout error:
{
"errors": [
"You must be logged in to access this resource."
]
}
Error 401: You must be logged in to access this resource.
And after clicking on the "Go to login" button, the page is correctly redirected to the login page. This behaviour is working as expected. Now, the page is not getting stuck on the error page.
I am able to reproduce the mentioned issue in the #27 comment -
Steps to reproduce :
- Install
xb_test_code_componentsmodule. - Add the “My Code Component Link” component to a page in Experience Builder.
- In the link prop, use the autocomplete to pick a node/article (e.g., select an article by title).
- The input fills with a value like
entity:node/2. -
Inspect
This is my test linkon the canvas component in browser DevTools.
Value will be:<a href="entity:node/2">This is my test link</a>being rendered on the client side,
which should've been transformed to/node/2by the link transformer.
Please find the attached video demonstrating the steps to reproduce the "An unexpected error has occurred while fetching the layout" issue.
mayur-sose → created an issue.
Verified the changes :
@wim-leers, please check attached video for TC3, failed test case.
I enabled the Test Block Components module to verify this issue. While testing, I encountered an error—please see the attached video for details.
Console error:
{
"status": 500,
"data": {
"message": "Drupal\\experience_builder\\Plugin\\ExperienceBuilder\\ComponentSource\\BlockComponent::clientModelToInput(): Argument #3 ($client_model) must be of type array, null given, called in /var/www/html/web/modules/contrib/experience_builder/src/Form/ComponentInputsForm.php on line 102",
"file": "/var/www/html/web/modules/contrib/experience_builder/src/Plugin/ExperienceBuilder/ComponentSource/BlockComponent.php",
"line": 403,
"trace": [
{
"file": "/var/www/html/web/modules/contrib/experience_builder/src/Form/ComponentInputsForm.php",
"line": 102,
"function": "clientModelToInput",
"class": "Drupal\\experience_builder\\Plugin\\ExperienceBuilder\\ComponentSource\\BlockComponent",
"type": "->"
},
]
}
}
@wim-leers, could you please provide the testing steps required to verify this issue?
Verified the changes :
Verified changes and those are working as expected :
For Issue 3 mentioned in #36, created separate issue - https://www.drupal.org/project/experience_builder/issues/3541331 🐛 Link Type "Full URL" is Not Retained After Navigation While Adding Prop Active
mayur-sose → created an issue.
Found below issues :
Issue 1: Outbound processor not triggered for lk prop (alias not used)
Issue 2: Article gets autocomplete and proper alias, page does not
Issue 3: "Full URL" link type not retained in UI
@jessebaker @bnjmnm I have tested the changes on the 1.x branch and am still able to reproduce this issue. Please see the attached video for reference.
I have followed the steps below to try and reproduce the issue, but issue is not getting reproduced :
Steps followed:
- Installed the Standard install profile.
- Installed Experience Builder.
- Created an article node (e.g., node 1).
- Installed
xb_dev_standard. - Visited
/node/1to check if the article rendered or if a fatal error appeared. - Attempted to edit the article in XB at
/xb/node/1/editorto see if it resulted in a broken XB UI. - Added code component, image component and few more to the canvas
- Clicked "Review change" and "Publish" all the changes
While testing, I did not encounter any errors or broken UI. So this issue can be closed.
@tedbow, Could you please update the summary to include details on which issues have been fixed in this ticket, along with the steps to reproduce them?
mayur-sose → created an issue.
mayur-sose → created an issue.
Verified below scenarios :
Error messages now correctly link to the component instance causing the error in the new tab.
Verified below scenarios :
balintbrews → credited mayur-sose → .
This issue is not reproducible. I have verified that the right-hand panel does not crash even when a required prop is left empty. Attempting to publish with an empty required prop correctly displays an error message in the publish panel: “The property test is required.” This is the expected behavior.
mayur-sose → created an issue.
mayur-sose → created an issue.
mayur-sose → created an issue.
wim leers → credited mayur-sose → .
I have tested the changes and confirmed that props text validation is working as expected. Users are now prevented from publishing when required text fields are left blank.
However, I observed the following issue: if a required text field is left blank and a publish attempt is made, the system correctly throws an error. But after entering a value into the text field and trying to publish again, the user is prompted to refresh the page with the message:
“Your latest change was not saved because the content was modified elsewhere since you loaded the page. Please refresh your browser to receive the latest changes and continue.”
Additionally, the publish tool displays this error:
“An item in the publish request did not match the expected format or value. Please refresh your page and try again.”
Refreshing the page resolves the issue, but this workflow could be improved so that the refresh message does not appear every time.
@jessebaker, Both of the reported issues have been resolved:
- Pressing enter or submitting the search form no longer reloads the page.
- Re-opening the Navigator now resets the search input value as well as the search results.
However, when reopening the Navigator, the search input resets, but the transition is not smooth. Users momentarily see the previous results list before the full list is displayed again. If possible, could we also address this for a smoother user experience?
There is also an issue: unpublished pages appear in the search navigator when the search input value is "untitled page," even though this does not match their titles.
Steps to reproduce:
- Create 2-3 pages and do not publish them (for example: xyz, qwerty, abcd).
- In the navigation search, enter 'untitled page.' You will see all unpublished pages listed there.
@wim-leers I have verified the previously failing scenarios, and they are now working as expected. There are no errors in the console or network tab, and the "set as homepage" functionality is functioning correctly.
To reproduce the three issues mentioned above, please follow these steps:
- Create 3-4 XB pages (for example: homepage, contact us, about us, test page 1).
- Set homepage as the homepage and publish the changes.
- Create a duplicate of the homepage by clicking the three dots next to the page.
- A "Homepage (Copy)" page will be generated. Set "Homepage (Copy)" as the homepage and publish the changes.
- Now, set any other page as the homepage. You will notice a 404 error in the console, as described in the testing report above.
Verified below scenarios and some scenarios getting failed, please look into it :
A 404 error is appearing in the console for the following endpoint:
/xb/api/v0/config/auto-save/staged_config_update/xb_set_homepage
This failed API request for xb_set_homepage is also visible in the network tab.
@mglaman @wim-leers
mayur-sose → created an issue.
I attempted to reproduce the issue on the latest 0.x version but was unable to do so. Scrolling is functioning as expected, so I am closing this issue.
@jessebaker The provided screenshots are from the Chrome browser, even the same issue with the select element also occurs in Safari.