adding a button for fixing all errors (#1785)

closes #1688 



<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Add a “Fix All Errors” button to the chat that collects all error
messages and sends a single request to resolve them. This helps users
fix multiple errors in one step.

- New Features
- Parse dyad-output type=error messages and track count/last index in
DyadMarkdownParser.
- Show FixAllErrorsButton after the last error when there are 2+ errors,
not streaming, and chatId is present.
- Button streams a prompt listing all errors, shows a loading state, and
displays the error count.

<sup>Written for commit b9762955d3b9cecd3b00c9efb478ce599f60e32d.
Summary will update automatically on new commits.</sup>

<!-- End of auto-generated description by cubic. -->
This commit is contained in:
Mohamed Aziz Mejri
2025-12-05 07:20:35 +01:00
committed by GitHub
parent 40aeed1456
commit 90c5805b57
6 changed files with 229 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
import { testSkipIfWindows } from "./helpers/test_helper";
import { testSkipIfWindows, test } from "./helpers/test_helper";
testSkipIfWindows("fix error with AI", async ({ po }) => {
await po.setUp({ autoApprove: true });
@@ -19,3 +19,13 @@ testSkipIfWindows("fix error with AI", async ({ po }) => {
// await po.locatePreviewErrorBanner().waitFor({ state: "hidden" });
await po.snapshotPreview();
});
test("fix all errors button", async ({ po }) => {
await po.setUp({ autoApprove: true });
await po.sendPrompt("tc=create-multiple-errors");
await po.clickFixAllErrors();
await po.waitForChatCompletion();
await po.snapshotMessages();
});