Unverified 提交 88c03faf authored 作者: Will Chen's avatar Will Chen 提交者: GitHub

Flakiness integration (#2499)

<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2499"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk: changes are limited to CI configuration and Playwright reporting, with the main risk being CI failures or leaking the new secret into logs if misused. > > **Overview** > Adds Flakiness.io reporting to Playwright CI runs by installing `@flakiness/playwright`, registering it as an additional CI reporter in `playwright.config.ts`, and wiring `FLAKINESS_ACCESS_TOKEN` into the GitHub Actions E2E test step. > > Updates the lockfile to include the new Flakiness dependencies (and bumps `debug` patch version via dependency resolution). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 24ebc059e73409321eb0908a425a3d2b1ad47452. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Integrates Flakiness with Playwright E2E tests to track flaky tests and upload reports to flakiness.io. Reporter is enabled in CI and authenticated via a secret access token. - **New Features** - Added the @flakiness/playwright reporter to Playwright (endpoint: https://flakiness.io) for CI runs. - Passed FLAKINESS_ACCESS_TOKEN from GitHub Actions to enable authenticated report uploads. - **Dependencies** - Added @flakiness/playwright to package.json and updated the lockfile. <sup>Written for commit ddc0557b691bc533e33764bd7c93d9fab5b70fae. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. -->
上级 0e1a485a
...@@ -241,6 +241,8 @@ jobs: ...@@ -241,6 +241,8 @@ jobs:
- name: Install Chromium browser for Playwright - name: Install Chromium browser for Playwright
run: npx playwright install chromium --with-deps run: npx playwright install chromium --with-deps
- name: E2E tests (Shard ${{ matrix.shard }}/4) - name: E2E tests (Shard ${{ matrix.shard }}/4)
env:
FLAKINESS_ACCESS_TOKEN: ${{ secrets.FLAKINESS_ACCESS_TOKEN }}
# You can add debug logging to make it easier to see what's failing # You can add debug logging to make it easier to see what's failing
# by adding "DEBUG=pw:browser" in front. # by adding "DEBUG=pw:browser" in front.
# Use blob reporter for sharding and merge capabilities # Use blob reporter for sharding and merge capabilities
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
"@base-ui/react": "^1.1.0", "@base-ui/react": "^1.1.0",
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@dyad-sh/supabase-management-js": "v1.0.1", "@dyad-sh/supabase-management-js": "v1.0.1",
"@flakiness/playwright": "^1.0.0",
"@lexical/react": "^0.33.1", "@lexical/react": "^0.33.1",
"@modelcontextprotocol/sdk": "^1.17.5", "@modelcontextprotocol/sdk": "^1.17.5",
"@monaco-editor/react": "^4.7.0-rc.0", "@monaco-editor/react": "^4.7.0-rc.0",
...@@ -2734,6 +2735,63 @@ ...@@ -2734,6 +2735,63 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
} }
}, },
"node_modules/@flakiness/flakiness-report": {
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@flakiness/flakiness-report/-/flakiness-report-0.22.0.tgz",
"integrity": "sha512-soo8VpTu1/LqFXrwv7HX/YcvKHRN6gjyGZqpOeSa0u5ZrtysuFL4u59FhDhnfKqCC17UQUACPBE8KSM36PiOaw==",
"license": "MIT"
},
"node_modules/@flakiness/playwright": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@flakiness/playwright/-/playwright-1.0.0.tgz",
"integrity": "sha512-d5u83uJVfV9GvwMOI7vFsoQzpOrF47oRxYcE2+kewYf2AyvVNz9u6kq2L/T5C08mNQHngV75X+fReLPM9jWnaQ==",
"license": "MIT",
"dependencies": {
"@flakiness/flakiness-report": "^0.22.0",
"@flakiness/sdk": "^1.0.0",
"chalk": "^5.6.2"
}
},
"node_modules/@flakiness/playwright/node_modules/chalk": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@flakiness/sdk": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@flakiness/sdk/-/sdk-1.0.2.tgz",
"integrity": "sha512-3RRBTscpMKzqTm8g9ogAXCmzSvEtBb5qx6cD/zaJHGVxqC1gWLXRmbomwA+6sL7VjjPXTVNqzxsxGG9Llleraw==",
"license": "MIT",
"dependencies": {
"chalk": "^5.6.2",
"debug": "^4.4.3",
"open": "^10.2.0",
"stable-hash": "^0.0.6",
"zod": "^4.3.5"
},
"peerDependencies": {
"@flakiness/flakiness-report": "^0.22.0"
}
},
"node_modules/@flakiness/sdk/node_modules/chalk": {
"version": "5.6.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@floating-ui/core": { "node_modules/@floating-ui/core": {
"version": "1.7.3", "version": "1.7.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
...@@ -9227,6 +9285,63 @@ ...@@ -9227,6 +9285,63 @@
"node": ">=12.0.0" "node": ">=12.0.0"
} }
}, },
"node_modules/better-opn/node_modules/define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/better-opn/node_modules/is-docker": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
"license": "MIT",
"bin": {
"is-docker": "cli.js"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/better-opn/node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/better-opn/node_modules/open": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
"integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"define-lazy-prop": "^2.0.0",
"is-docker": "^2.1.1",
"is-wsl": "^2.2.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/better-sqlite3": { "node_modules/better-sqlite3": {
"version": "12.6.2", "version": "12.6.2",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.6.2.tgz", "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.6.2.tgz",
...@@ -9421,6 +9536,21 @@ ...@@ -9421,6 +9536,21 @@
"devOptional": true, "devOptional": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/bundle-name": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
"integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
"license": "MIT",
"dependencies": {
"run-applescript": "^7.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/bytes": { "node_modules/bytes": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
...@@ -10394,9 +10524,9 @@ ...@@ -10394,9 +10524,9 @@
} }
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.4.1", "version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ms": "^2.1.3" "ms": "^2.1.3"
...@@ -10476,6 +10606,34 @@ ...@@ -10476,6 +10606,34 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/default-browser": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz",
"integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==",
"license": "MIT",
"dependencies": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/default-browser-id": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
"integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/default-shell": { "node_modules/default-shell": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/default-shell/-/default-shell-2.2.0.tgz", "resolved": "https://registry.npmjs.org/default-shell/-/default-shell-2.2.0.tgz",
...@@ -10529,13 +10687,15 @@ ...@@ -10529,13 +10687,15 @@
} }
}, },
"node_modules/define-lazy-prop": { "node_modules/define-lazy-prop": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=8" "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/define-properties": { "node_modules/define-properties": {
...@@ -14833,16 +14993,15 @@ ...@@ -14833,16 +14993,15 @@
} }
}, },
"node_modules/is-docker": { "node_modules/is-docker": {
"version": "2.2.1", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
"dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
"is-docker": "cli.js" "is-docker": "cli.js"
}, },
"engines": { "engines": {
"node": ">=8" "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
...@@ -14929,6 +15088,24 @@ ...@@ -14929,6 +15088,24 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/is-inside-container": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
"license": "MIT",
"dependencies": {
"is-docker": "^3.0.0"
},
"bin": {
"is-inside-container": "cli.js"
},
"engines": {
"node": ">=14.16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-interactive": { "node_modules/is-interactive": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
...@@ -15212,16 +15389,18 @@ ...@@ -15212,16 +15389,18 @@
} }
}, },
"node_modules/is-wsl": { "node_modules/is-wsl": {
"version": "2.2.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"is-docker": "^2.0.0" "is-inside-container": "^1.0.0"
}, },
"engines": { "engines": {
"node": ">=8" "node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/isarray": { "node_modules/isarray": {
...@@ -18310,18 +18489,18 @@ ...@@ -18310,18 +18489,18 @@
} }
}, },
"node_modules/open": { "node_modules/open": {
"version": "8.4.2", "version": "10.2.0",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
"integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"define-lazy-prop": "^2.0.0", "default-browser": "^5.2.1",
"is-docker": "^2.1.1", "define-lazy-prop": "^3.0.0",
"is-wsl": "^2.2.0" "is-inside-container": "^1.0.0",
"wsl-utils": "^0.1.0"
}, },
"engines": { "engines": {
"node": ">=12" "node": ">=18"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
...@@ -20346,6 +20525,18 @@ ...@@ -20346,6 +20525,18 @@
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/run-applescript": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
"integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/run-parallel": { "node_modules/run-parallel": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
...@@ -21376,6 +21567,12 @@ ...@@ -21376,6 +21567,12 @@
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
"node_modules/stable-hash": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.6.tgz",
"integrity": "sha512-0afH4mobqTybYZsXImQRLOjHV4gvOW+92HdUIax9t7a8d9v54KWykEuMVIcXhD9BCi+w3kS4x7O6fmZQ3JlG/g==",
"license": "MIT"
},
"node_modules/stack-generator": { "node_modules/stack-generator": {
"version": "2.0.10", "version": "2.0.10",
"resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz", "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
...@@ -24085,6 +24282,21 @@ ...@@ -24085,6 +24282,21 @@
} }
} }
}, },
"node_modules/wsl-utils": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
"integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
"license": "MIT",
"dependencies": {
"is-wsl": "^3.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/xmlbuilder": { "node_modules/xmlbuilder": {
"version": "15.1.1", "version": "15.1.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
......
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
"@base-ui/react": "^1.1.0", "@base-ui/react": "^1.1.0",
"@biomejs/biome": "^1.9.4", "@biomejs/biome": "^1.9.4",
"@dyad-sh/supabase-management-js": "v1.0.1", "@dyad-sh/supabase-management-js": "v1.0.1",
"@flakiness/playwright": "^1.0.0",
"@lexical/react": "^0.33.1", "@lexical/react": "^0.33.1",
"@modelcontextprotocol/sdk": "^1.17.5", "@modelcontextprotocol/sdk": "^1.17.5",
"@monaco-editor/react": "^4.7.0-rc.0", "@monaco-editor/react": "^4.7.0-rc.0",
......
...@@ -27,6 +27,7 @@ const config: PlaywrightTestConfig = { ...@@ -27,6 +27,7 @@ const config: PlaywrightTestConfig = {
outputFile: `./blob-report/report-${os.platform()}-${timestamp}.zip`, outputFile: `./blob-report/report-${os.platform()}-${timestamp}.zip`,
}, },
], ],
["@flakiness/playwright", { endpoint: "https://flakiness.io" }],
] ]
: [["html"], ["line"]], : [["html"], ["line"]],
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
......
...@@ -148,14 +148,12 @@ export function ChatErrorBox({ ...@@ -148,14 +148,12 @@ export function ChatErrorBox({
)} )}
{isDyadProEnabled && onStartNewChat && ( {isDyadProEnabled && onStartNewChat && (
<Tooltip> <Tooltip>
<TooltipTrigger asChild> <TooltipTrigger
<button onClick={onStartNewChat}
onClick={onStartNewChat} className="cursor-pointer inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500"
className="cursor-pointer inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium shadow-sm focus:outline-none focus:ring-2 bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500" >
> <span>Start new chat</span>
<span>Start new chat</span> <MessageSquarePlus size={18} />
<MessageSquarePlus size={18} />
</button>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent> <TooltipContent>
Starting a new chat can fix some issues Starting a new chat can fix some issues
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论