From 704ad5a3f9f2005aea1d1b0d5432784fe1f766ec Mon Sep 17 00:00:00 2001
From: bherbruck
Date: Mon, 2 Nov 2026 21:56:45 -0500
Subject: [PATCH] Hero and Download page: opt-in links to release candidate and
latest-build web app, and pre-releases
The hero now has small links under the Try in your browser button to the
release candidate (/app-rc) and latest build (/app-edge) of the web app,
with a warning that they can break. The Download page points to GitHub
Releases for pre-releases. Adds matching /app-rc and /app-edge redirects.
Co-Authored-By: Claude Opus 5.5
---
.../solidcraft-landing/public/_redirects | 4 ++++
.../src/components/Actions.tsx | 16 ++++++++++++++++
.../frontend/solidcraft-landing/src/data/site.ts | 2 ++
.../solidcraft-landing/src/pages/download.astro | 6 ++++++
.../solidcraft-landing/src/pages/index.astro | 2 +-
.../tests/browser/site.spec.ts | 8 +++++++-
6 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/apps/frontend/solidcraft-landing/public/_redirects b/apps/frontend/solidcraft-landing/public/_redirects
index e28ea91..4ceb71c 100644
--- a/apps/frontend/solidcraft-landing/public/_redirects
+++ b/apps/frontend/solidcraft-landing/public/_redirects
@@ -1,4 +1,8 @@
/app https://docs.solidcraft.io/app 302
/app/ https://docs.solidcraft.io/app 302
+/app-rc https://docs.solidcraft.io/app-rc/ 302
+/app-rc/ https://docs.solidcraft.io/app-rc/ 302
+/app-edge https://docs.solidcraft.io/app-edge/ 302
+/app-edge/ https://docs.solidcraft.io/app-edge/ 302
/downloads/ /download/ 301
/github/ https://github.com/tangency-labs/solidcraft 302
diff --git a/apps/frontend/solidcraft-landing/src/components/Actions.tsx b/apps/frontend/solidcraft-landing/src/components/Actions.tsx
index f6064e4..5116e26 100644
--- a/apps/frontend/solidcraft-landing/src/components/Actions.tsx
+++ b/apps/frontend/solidcraft-landing/src/components/Actions.tsx
@@ -16,9 +16,11 @@ import { useRelease } from "../lib/use-release";
export default function Actions({
compact = false,
direct = false,
+ versions = false,
}: {
compact?: boolean;
direct?: boolean;
+ versions?: boolean;
}) {
const release = useRelease();
const [system, setSystem] = useState<{
@@ -58,6 +60,20 @@ export default function Actions({
Try in your browser
+ {versions && (
+
+ Other versions to try:{" "}
+
+ release candidate
+ {" "}
+ or{" "}
+
+ latest build
+
+ . These can break, and designs saved in them may not open in the
+ stable version.
+
+ )}
);
}
diff --git a/apps/frontend/solidcraft-landing/src/data/site.ts b/apps/frontend/solidcraft-landing/src/data/site.ts
index db0c206..5d4fe91 100644
--- a/apps/frontend/solidcraft-landing/src/data/site.ts
+++ b/apps/frontend/solidcraft-landing/src/data/site.ts
@@ -2,6 +2,8 @@ export const site = {
name: "SolidCraft",
url: "https://solidcraft.io",
app: "https://solidcraft.io/app",
+ appRc: "https://solidcraft.io/app-rc",
+ appEdge: "https://solidcraft.io/app-edge",
discord: "/discord",
discordInvite: "https://discord.gg/FtU4NQNVDH",
docs: "https://docs.solidcraft.io/",
diff --git a/apps/frontend/solidcraft-landing/src/pages/download.astro b/apps/frontend/solidcraft-landing/src/pages/download.astro
index a3542f6..ed1f08f 100644
--- a/apps/frontend/solidcraft-landing/src/pages/download.astro
+++ b/apps/frontend/solidcraft-landing/src/pages/download.astro
@@ -61,6 +61,12 @@ const release = snapshotSchema.parse(snapshot);
On macOS you can also install with Homebrew:{" "}
brew install --cask tangency-labs/tap/solidcraft
+
+ Want to test early? Release candidates are published as pre-releases on{" "}
+ GitHub Releases. They can
+ break, and designs saved in them may not open in the stable version. The
+ downloads above are always the latest stable release.
+