From b9d22a273f2225917f13b13a9fde305629126502 Mon Sep 17 00:00:00 2001 From: Ian Alloway Date: Tue, 29 Sep 2026 13:27:08 -0400 Subject: [PATCH] feat(web): add Browse releases link next to invite download (#2255) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Related to https://github.com/block/buzz/issues/2093 Invite pages offered a platform-resolved binary download with no path to the GitHub releases listing for users who wanted information first. ### Changes - Keep the smart **Download it now** CTA - Add an always-visible **Browse releases** link pointing at `https://github.com/block/buzz/releases` - Extend invite smoke coverage for the new link Note: the marketing-site “Get the App” button on buzz.xyz appears to live outside this repository; this improves the in-repo web invite flow. Signed-off-by: Ian Alloway Signed-off-by: Fizz <300bd4cedcdddb62f77935de51c301034bdb4cd97da9aaca46d59673a1ebc7cf@buzz.block.builderlab.xyz> --- web/src/features/invite/ui/InvitePage.tsx | 11 +++++++++++ web/tests/e2e/smoke.spec.ts | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/web/src/features/invite/ui/InvitePage.tsx b/web/src/features/invite/ui/InvitePage.tsx index 0033e6cad5..9d4034dafc 100644 --- a/web/src/features/invite/ui/InvitePage.tsx +++ b/web/src/features/invite/ui/InvitePage.tsx @@ -288,6 +288,17 @@ export function InvitePage({ code }: { code: string }) { > Download it now + + + Browse releases +

diff --git a/web/tests/e2e/smoke.spec.ts b/web/tests/e2e/smoke.spec.ts index b33caa62fa..11bec34409 100644 --- a/web/tests/e2e/smoke.spec.ts +++ b/web/tests/e2e/smoke.spec.ts @@ -79,6 +79,9 @@ test("invite requires age and legal consent before opening Buzz", async ({ "href", "https://github.com/block/buzz/releases/download/v0.4.9/Buzz_0.4.9_x64-setup_alpha-unsigned.exe", ); + await expect( + page.getByRole("link", { name: "Browse releases" }), + ).toHaveAttribute("href", "https://github.com/block/buzz/releases"); const ageConfirmation = page.getByLabel("I am 18 years of age or older."); const agreementConfirmation = page.getByLabel( @@ -366,6 +369,10 @@ test("invite download links to the appropriate platform destination", async ({ page.getByRole("link", { name: "Download it now" }), device.name, ).toHaveAttribute("href", device.expectedUrl); + await expect( + page.getByRole("link", { name: "Browse releases" }), + device.name, + ).toHaveAttribute("href", "https://github.com/block/buzz/releases"); await context.route(device.expectedUrl, (route) => route.fulfill({ contentType: "text/html", body: "Store destination" }), );