diff --git a/apps/www/e2e/marketing-homepage.spec.ts b/apps/www/e2e/marketing-homepage.spec.ts
index c5706b107..89aa88bf2 100644
--- a/apps/www/e2e/marketing-homepage.spec.ts
+++ b/apps/www/e2e/marketing-homepage.spec.ts
@@ -32,11 +32,10 @@ test.describe("marketing homepage", () => {
await selfHost.scrollIntoViewIfNeeded();
await captureScreenshot(page, testInfo, "01-marketing-homepage-selfhost");
- await expect(async () => {
- await selfHost.getByRole("button", { name: /Get started/i }).click();
- await expect(page.getByRole("dialog")).toBeVisible();
- }).toPass();
- const dialog = page.getByRole("dialog");
+ await expect(page.locator("html")).toHaveAttribute("data-get-started-ready", "");
+ await selfHost.getByRole("button", { name: /Get started/i }).click();
+ const dialog = page.locator("[data-get-started-dialog]");
+ await expect(dialog).toBeVisible();
await expect(dialog.getByRole("heading")).toBeVisible();
await expect(dialog).not.toContainText(
/openssl|docker-compose\.images|POSTGRES_PASSWORD|BETTER_AUTH_SECRET|mkdir rakazo/i,
@@ -64,11 +63,10 @@ test.describe("marketing homepage", () => {
await selfHost.scrollIntoViewIfNeeded();
await captureScreenshot(page, testInfo, "03-marketing-homepage-zh-selfhost");
- await expect(async () => {
- await selfHost.getByRole("button", { name: "开始使用" }).click();
- await expect(page.getByRole("dialog")).toBeVisible();
- }).toPass();
- const dialog = page.getByRole("dialog");
+ await expect(page.locator("html")).toHaveAttribute("data-get-started-ready", "");
+ await selfHost.getByRole("button", { name: "开始使用" }).click();
+ const dialog = page.locator("[data-get-started-dialog]");
+ await expect(dialog).toBeVisible();
await expect(dialog.getByRole("heading")).toHaveText("你想如何开始?");
await expect(dialog).not.toContainText(
/openssl|docker-compose\.images|POSTGRES_PASSWORD|BETTER_AUTH_SECRET|mkdir rakazo/i,
diff --git a/apps/www/src/components/GetStartedDialog.astro b/apps/www/src/components/GetStartedDialog.astro
index 020461278..be32fd079 100644
--- a/apps/www/src/components/GetStartedDialog.astro
+++ b/apps/www/src/components/GetStartedDialog.astro
@@ -79,67 +79,81 @@ const { copy, waitlist } = Astro.props;
-
diff --git a/apps/www/src/components/HomePage.astro b/apps/www/src/components/HomePage.astro
index 737f00b4b..eff67a1e3 100644
--- a/apps/www/src/components/HomePage.astro
+++ b/apps/www/src/components/HomePage.astro
@@ -123,6 +123,8 @@ const structuredData = {
+
+
-
-