Account created on 13 August 2021, almost 4 years ago
  • Associate Engineer at Acquia 
#

Merge Requests

More

Recent comments

🇮🇳India kunal.sachdev

I tested by creating 4–5 components, including one from an image, and everything worked as expected each time ✅

🇮🇳India kunal.sachdev

Adding the video to show how it's working currently

Currently, only messages from executing agents are displayed. I think we should also find a way to display messages from the tools that are executed.

🇮🇳India kunal.sachdev

The issue mentioned in #39 📌 Generate/update title and metadata for pages created from components Active was occurring intermittently because $agent->solve() sometimes returned an empty string, and we were using this value as the response message. To address this, I reverted the change that used $agent->solve() for the response message.

🇮🇳India kunal.sachdev

I have tested all scenarios and it's working as expected!!

🇮🇳India kunal.sachdev

I tested it locally and it's working as expected now!!

🇮🇳India kunal.sachdev

While testing, I discovered another issue: components added through the page builder agent are not updating correctly. Specifically, the text of the component is not being changed in the backend and remains set to its default value.

🇮🇳India kunal.sachdev

I tested the case mentioned in #26 📌 Generate/update title and metadata for pages created from components Active and it works as expected but after running 6-7 prompts, the AI started to behave unexpectedly.
I also tried similar prompts on version 1.x and observed the same issue there: the AI unnecessarily considers history/comments even when they’re not relevant. I have created a new issue 🐛 AI should use only necessary history/comments for each task Active to address this and I think we should prioritise fixing this issue first.

🇮🇳India kunal.sachdev

The case mentioned in #23 📌 Generate/update title and metadata for pages created from components Active was failing because the pageData was not getting updated with fresh values every time. I have fixed it now.

🇮🇳India kunal.sachdev

Tested it locally, I think one thing which is not working as expected is that the final message about the template is created successfully is shown before and then the message about creating the footer section is shown. Attached the screen recording showing how it's working.

🇮🇳India kunal.sachdev

The second case mentioned in #17 📌 Generate/update title and metadata for pages created from components Active wasn't working because the getEntityField tool was fetching only published data. Since the page hadn’t been published, it retrieved the title as "Untitled page," which led to a new title being created unnecessarily. To resolve this, we removed the getEntityField tool and now pass the XB page data as context directly to all relevant tools

I’ve manually tested all scenarios locally, and everything is now working as expected.

🇮🇳India kunal.sachdev

Although sometimes the title is not getting updated on the page. I checked this same issue is also there in 0.x branch so created a issue for that 🐛 Title is not update on the page when created through AI Active

🇮🇳India kunal.sachdev

Some scenarios are not working as expected so I am trying to fix it.

🇮🇳India kunal.sachdev

kunal.sachdev changed the visibility of the branch 3533881-generateupdate-title-and to hidden.

🇮🇳India kunal.sachdev

We want this metadata generation to only work with the xb_page entity for now. And it's working fine on xb_page entity. But it's working on node page too instead of giving an error( as per my agent's system prompt) and I tried to fix it by improving the system prompt but it's still an issue.

Prompts used for testing :-
1. What do you do?
2. Generate metadata
3. Add metadata on drupal
4. Add metadata for title field
5. Add metadata for title
6. Create metadata for image field
7. Add metadata for 'Drupal : Create ambitious digital experiences'
8. Generate metadata on cats

🇮🇳India kunal.sachdev

This is how it's working for now :-
But there's an issue that the update isn't showing up on the UI right away; it becomes visible only after a reload. Created a follow-up for that 📌 Xb_page data is updated only after a reload Active .

🇮🇳India kunal.sachdev

kunal.sachdev made their first commit to this issue’s fork.

🇮🇳India kunal.sachdev

I have addressed all the feedback/suggestions.

🇮🇳India kunal.sachdev

Regarding #107 Use modal in add new field flow Active , an issue for the problem 'dialog goes out of the viewport' already exists. See 🐛 Modal dialogs clip content with certain viewport width Needs work .

🇮🇳India kunal.sachdev

I think all remaining tasks are either done here or in separate issues(issue links are mentioned).
And yes the MR needs a general review.

🇮🇳India kunal.sachdev

Regarding the comment #11 🐛 Package Manager validation is only necessary if the project to install is not already in the filesystem Active , I believe we already have a test for the 'selecting projects and install' scenario \Drupal\Tests\project_browser\FunctionalJavascript\ProjectBrowserInstallerUiTest::testMultipleModuleAddAndInstall , which was failing but is fixed now. So I don't think we need more tests.

🇮🇳India kunal.sachdev

I need help with the test failures -

  1. \Drupal\Tests\field_ui\Functional\ManageFieldsTest::testAddField() - In this test we are testing that field descriptions appear, both 1 line and multiple lines. But the failure is that the single line description is not showing on the screen. And when I change the code
    description: new TranslatableMarkup("This one-line field description is important for testing"), to
    description: [
      new TranslatableMarkup("This one-line field description is important for testing"),
      ],

    in the plugin core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldType/TestItemWithSingleDescription.php then it works.

  2. All the failing FunctionJavascript tests - All the tests are failing with the error 'SyntaxError: Identifier 'DrupalDialogEvent' has already been declared'. I tried reverting all the changes done in core/misc/dialog/dialog.js in https://git.drupalcode.org/project/drupal/-/commit/9b2d61c6e159ffdb62d5b... then it works fine without errors.
🇮🇳India kunal.sachdev

kunal.sachdev made their first commit to this issue’s fork.

🇮🇳India kunal.sachdev

The current test failure is in tests/src/Nightwatch/Tests/keyboardTest.js in which there is a part where we are testing that when we are on the categories filter and we click tab then it shifts to next filter drop down i.e security coverage. This test is failing now because in this MR we are rendering the filters as it is which is defined from the backend and not hardcoding them. The previous hardcoding was done in a way such that the filters were displayed in the order :- categories -> security coverage -> maintenance status -> development status but now we accidentally in the backend have the filters defined in the order :- categories ->maintenance status -> security coverage -> development status. For now to fix the failure we can fix the order of the defined filters in backend but I think the major problem is that somewhere in the code we have hard coded the tab index for each filter which needs to be fixed (maybe in a new issue).

🇮🇳India kunal.sachdev

Added test coverage for the changes to ExtensionExistsConstraintValidator. Also we have update path and its test so removing the related issue tags.

🇮🇳India kunal.sachdev

I also tried to use AltLeastOneOf constraint in 📌 Add validation constraints to core.menu.schema.yml Needs work and I have mentioned the problems I faced in https://www.drupal.org/project/drupal/issues/3441434#comment-15686742 📌 Add validation constraints to core.menu.schema.yml Needs work .

🇮🇳India kunal.sachdev

I tried to use AtLeastOneOf constraint here but I faced two problems here :-

  1. AtLeastOf constraint requires an array of constraint objects and we were getting constraint arrays here. So what I did was implemented a plugin class for AtLeastOneOf, and converted the constraint arrays into constraint objects.
  2. RecursiveContextualValidator prevents us from using custom groups. But we want to use AtLeastOneOf constraint there and I think it's validator requires every constraint to have a group. So for that I created this follow-up 📌 Remove the restriction from RecursiveContextualValidator that prevents using custom groups. Needs review .
Production build 0.71.5 2024