From b90998c8da6ac2dd4d22dfd73b1c72d63c9b9f13 Mon Sep 17 00:00:00 2001 From: Bilal Godil Date: Tue, 26 May 2026 15:37:45 -0700 Subject: [PATCH 1/4] =?UTF-8?q?feat(dashboard):=20add=20one-time=20Stack?= =?UTF-8?q?=20Auth=20=E2=86=92=20Hexclave=20rebrand=20modal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Announces the rebrand to authenticated dashboard users whose signedUpAt predates 2026-05-27 UTC (the rebrand cutoff). Brand-new users signing up after the cutoff already land on Hexclave-branded surfaces and don't see the modal. - Modal lives in the protected dashboard layout via apps/dashboard/src/app/(main)/(protected)/layout-client.tsx so it surfaces on any logged-in route once per browser. - Gated on useUser({ or: "return-null" }) + signedUpAt < cutoff, so it never triggers a sign-in redirect for guests and never shows for post-rebrand signups. - Dismissal (button, X, overlay, Escape) routes through onOpenChange and writes "hexclave-rebrand-modal-dismissed" to localStorage so it never re-appears for that browser. - Illustration uses the existing Stack Auth logo (logo.svg / logo-bright.svg for dark mode) and the Hexclave benzene mark saved to public/hexclave-icon.svg. - Copy links app.hexclave.com and docs.hexclave.com/migration. Screenshot: .github/assets/hexclave-rebrand-modal.png --- .github/assets/hexclave-rebrand-modal.png | Bin 0 -> 116917 bytes apps/dashboard/public/hexclave-icon.svg | 26 +++ .../app/(main)/(protected)/layout-client.tsx | 2 + .../src/components/hexclave-rebrand-modal.tsx | 176 ++++++++++++++++++ 4 files changed, 204 insertions(+) create mode 100644 .github/assets/hexclave-rebrand-modal.png create mode 100644 apps/dashboard/public/hexclave-icon.svg create mode 100644 apps/dashboard/src/components/hexclave-rebrand-modal.tsx diff --git a/.github/assets/hexclave-rebrand-modal.png b/.github/assets/hexclave-rebrand-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..4079615689a5ccf9691d0b738bebb1e4a65873aa GIT binary patch literal 116917 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 z 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%0AOa18$nBu{4&_+jT~`R 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 M8{8|uYy0Z|0Yb=rMF0Q* literal 0 HcmV?d00001 diff --git a/apps/dashboard/public/hexclave-icon.svg b/apps/dashboard/public/hexclave-icon.svg new file mode 100644 index 0000000000..6954a8f3fe --- /dev/null +++ b/apps/dashboard/public/hexclave-icon.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx b/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx index de0da7ce84..19c1b51f0e 100644 --- a/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/layout-client.tsx @@ -3,6 +3,7 @@ import Loading from "@/app/loading"; import { CursorBlastEffect } from "@stackframe/dashboard-ui-components"; import { ConfigUpdateDialogProvider } from "@/lib/config-update"; +import { HexclaveRebrandModal } from "@/components/hexclave-rebrand-modal"; import { getPublicEnvVar } from '@/lib/env'; import { useStackApp, useUser } from "@stackframe/stack"; import { LOCAL_EMULATOR_ADMIN_EMAIL, LOCAL_EMULATOR_ADMIN_PASSWORD } from "@stackframe/stack-shared/dist/local-emulator"; @@ -60,6 +61,7 @@ export default function LayoutClient({ children }: { children: React.ReactNode } return ( + {children} ); diff --git a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx new file mode 100644 index 0000000000..c570002281 --- /dev/null +++ b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx @@ -0,0 +1,176 @@ +"use client"; + +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { useUser } from "@stackframe/stack"; +import Image from "next/image"; +import { useEffect, useState } from "react"; + +const STORAGE_KEY = "hexclave-rebrand-modal-dismissed"; +const MIGRATION_DOCS_URL = "https://docs.hexclave.com/migration"; + +// Users who signed up before this instant predate the Stack Auth → Hexclave +// rebrand and are the only ones who benefit from the announcement. Anyone +// signing up after this already lands on a Hexclave-branded experience and +// has no "Stack Auth" mental model to update — no point telling them. +const REBRAND_CUTOFF = new Date("2026-05-27T00:00:00.000Z"); + +/** + * One-time informational modal announcing the Stack Auth → Hexclave rebrand. + * + * Only renders for a logged-in user who signed up before {@link REBRAND_CUTOFF}. + * On any dismissal (confirm button, close button, overlay click, or Escape) + * writes `STORAGE_KEY` to localStorage so the modal never re-appears for that + * browser. + */ +export function HexclaveRebrandModal() { + // `or: "return-null"` keeps this from triggering the sign-in redirect when + // it's rendered above the auth boundary — we simply opt out for guests. + const user = useUser({ or: "return-null" }); + const isPreRebrandUser = user != null && user.signedUpAt < REBRAND_CUTOFF; + const [open, setOpen] = useState(false); + + // Read localStorage after hydration to avoid SSR mismatch — render closed + // on the server and only open if we know the user hasn't dismissed it. + useEffect(() => { + if (!isPreRebrandUser) return; + try { + const dismissed = localStorage.getItem(STORAGE_KEY); + if (dismissed !== "true") { + setOpen(true); + } + } catch { + // localStorage can throw in private-mode / sandboxed iframes; treat + // unavailable storage as "already dismissed" so we don't spam users + // who can't persist the dismissal anyway. + } + }, [isPreRebrandUser]); + + const dismiss = () => { + try { + localStorage.setItem(STORAGE_KEY, "true"); + } catch { + // see above — best-effort write + } + setOpen(false); + }; + + if (!isPreRebrandUser) return null; + + return ( + { + if (!next) dismiss(); + }} + > + + + + + Stack Auth is now Hexclave + + + We're rebranding! Same product, same team, new home at{" "} + + app.hexclave.com + + . For more info on how to update your project, read our{" "} + + migration guide + + . + + + + + + + + ); +} + +/** + * Stack Auth mark (faded) → arrow → Hexclave benzene mark. Both logos are + * served from `/public` so they match the canonical brand assets. + */ +function RebrandIllustration() { + return ( + + ); +} From 1c4d3a6bd77d04e3587d0131eaec29aded662244 Mon Sep 17 00:00:00 2001 From: Bilal Godil Date: Tue, 26 May 2026 15:48:17 -0700 Subject: [PATCH 2/4] feat(dashboard): skip rebrand modal in dev/preview environments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds an explicit short-circuit at the top of HexclaveRebrandModal that returns no modal when any of the three NEXT_PUBLIC_STACK_IS_* dev flags is true — local emulator, remote development environment, or preview. These surfaces either auto-create throwaway users (preview) or seed a fixture admin (emulator/RDE). The rebrand notice would be friction for developers logging into local dev and meaningless for preview visitors who never used "Stack Auth" in the first place. Coincidentally these users are also filtered out today by signedUpAt < REBRAND_CUTOFF (fresh preview signups happen after the cutoff; a freshly-seeded emulator admin also signs up post-cutoff), but the explicit env-flag guard is more defensive — it stays correct if the cutoff is ever bumped forward for a test. Same three flags the protected layout already gates on (apps/dashboard/src/app/(main)/(protected)/layout-client.tsx:15-17). --- .../src/components/hexclave-rebrand-modal.tsx | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx index c570002281..260517465d 100644 --- a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx +++ b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx @@ -9,6 +9,7 @@ import { DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; +import { getPublicEnvVar } from "@/lib/env"; import { useUser } from "@stackframe/stack"; import Image from "next/image"; import { useEffect, useState } from "react"; @@ -25,16 +26,30 @@ const REBRAND_CUTOFF = new Date("2026-05-27T00:00:00.000Z"); /** * One-time informational modal announcing the Stack Auth → Hexclave rebrand. * - * Only renders for a logged-in user who signed up before {@link REBRAND_CUTOFF}. - * On any dismissal (confirm button, close button, overlay click, or Escape) - * writes `STORAGE_KEY` to localStorage so the modal never re-appears for that - * browser. + * Skipped entirely in preview / local-emulator / remote-development environments + * — those auto-create throwaway users or seed a fixture admin, so the rebrand + * notice would be friction for developers and meaningless for preview visitors + * who never used "Stack Auth" in the first place. + * + * For real customers: only renders for a logged-in user who signed up before + * {@link REBRAND_CUTOFF}. On any dismissal (confirm button, close button, + * overlay click, or Escape) writes `STORAGE_KEY` to localStorage so the modal + * never re-appears for that browser. */ export function HexclaveRebrandModal() { + // Skip in dev/preview environments — same flags the protected layout already + // gates on. Read at top so we can short-circuit before any hook runs the + // useEffect or computes the user-based gate. + const isDevEnvironment = + getPublicEnvVar("NEXT_PUBLIC_STACK_IS_LOCAL_EMULATOR") === "true" + || getPublicEnvVar("NEXT_PUBLIC_STACK_IS_REMOTE_DEVELOPMENT_ENVIRONMENT") === "true" + || getPublicEnvVar("NEXT_PUBLIC_STACK_IS_PREVIEW") === "true"; + // `or: "return-null"` keeps this from triggering the sign-in redirect when // it's rendered above the auth boundary — we simply opt out for guests. const user = useUser({ or: "return-null" }); - const isPreRebrandUser = user != null && user.signedUpAt < REBRAND_CUTOFF; + const isPreRebrandUser = + !isDevEnvironment && user != null && user.signedUpAt < REBRAND_CUTOFF; const [open, setOpen] = useState(false); // Read localStorage after hydration to avoid SSR mismatch — render closed From 0902a7e57949ff18cf76c0b464dc36308189094a Mon Sep 17 00:00:00 2001 From: Bilal Godil Date: Tue, 26 May 2026 16:05:47 -0700 Subject: [PATCH 3/4] feat(dashboard): scope rebrand modal dismissal by user.id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switches the localStorage key from the global "hexclave-rebrand-modal-dismissed" to a per-user "hexclave-rebrand-modal-dismissed:". Rationale: a shared browser (e.g. a work machine where two teammates each log into their own dashboard account) was previously hiding the announcement from teammate B as soon as teammate A dismissed it. Now each account tracks its own dismissal independently. The trade-off — the same human switching between their personal and work accounts will see the modal once per account — is acceptable: each account is a distinct identity, and a one-time brand notice per account is fine. Storage key is computed as `${STORAGE_KEY_PREFIX}${user.id}` only when `user` is non-null; both the useEffect read path and the dismiss write path null-check `storageKey` defensively even though the existing gates (`isPreRebrandUser`, `if (!isPreRebrandUser) return null`) already ensure neither runs without a user. No migration shim — the old global key was only ever written in local dev/test before this PR ships, so no production data is being orphaned. --- .../src/components/hexclave-rebrand-modal.tsx | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx index 260517465d..c802418661 100644 --- a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx +++ b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx @@ -14,7 +14,11 @@ import { useUser } from "@stackframe/stack"; import Image from "next/image"; import { useEffect, useState } from "react"; -const STORAGE_KEY = "hexclave-rebrand-modal-dismissed"; +// Per-user dismissal flag. Keyed by user.id so a shared browser (e.g. a +// machine where two teammates each log into their own accounts) tracks the +// dismissal separately for each account — otherwise one teammate dismissing +// would silently hide the announcement from the other. +const STORAGE_KEY_PREFIX = "hexclave-rebrand-modal-dismissed:"; const MIGRATION_DOCS_URL = "https://docs.hexclave.com/migration"; // Users who signed up before this instant predate the Stack Auth → Hexclave @@ -33,8 +37,8 @@ const REBRAND_CUTOFF = new Date("2026-05-27T00:00:00.000Z"); * * For real customers: only renders for a logged-in user who signed up before * {@link REBRAND_CUTOFF}. On any dismissal (confirm button, close button, - * overlay click, or Escape) writes `STORAGE_KEY` to localStorage so the modal - * never re-appears for that browser. + * overlay click, or Escape) writes `${STORAGE_KEY_PREFIX}${user.id}` to + * localStorage so the modal never re-appears for that account on that browser. */ export function HexclaveRebrandModal() { // Skip in dev/preview environments — same flags the protected layout already @@ -52,12 +56,16 @@ export function HexclaveRebrandModal() { !isDevEnvironment && user != null && user.signedUpAt < REBRAND_CUTOFF; const [open, setOpen] = useState(false); + // Per-user storage key. `null` when there's no user; the gates below + // ensure we never try to read/write it in that case. + const storageKey = user ? `${STORAGE_KEY_PREFIX}${user.id}` : null; + // Read localStorage after hydration to avoid SSR mismatch — render closed - // on the server and only open if we know the user hasn't dismissed it. + // on the server and only open if we know this user hasn't dismissed it. useEffect(() => { - if (!isPreRebrandUser) return; + if (!isPreRebrandUser || !storageKey) return; try { - const dismissed = localStorage.getItem(STORAGE_KEY); + const dismissed = localStorage.getItem(storageKey); if (dismissed !== "true") { setOpen(true); } @@ -66,13 +74,15 @@ export function HexclaveRebrandModal() { // unavailable storage as "already dismissed" so we don't spam users // who can't persist the dismissal anyway. } - }, [isPreRebrandUser]); + }, [isPreRebrandUser, storageKey]); const dismiss = () => { - try { - localStorage.setItem(STORAGE_KEY, "true"); - } catch { - // see above — best-effort write + if (storageKey) { + try { + localStorage.setItem(storageKey, "true"); + } catch { + // see above — best-effort write + } } setOpen(false); }; From 92c07f2bd8b4cf7bd4a14b137fdc3890fefd9420 Mon Sep 17 00:00:00 2001 From: Bilal Godil Date: Tue, 26 May 2026 17:57:03 -0700 Subject: [PATCH 4/4] feat(dashboard): inline core import-rename step in rebrand modal copy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tells users up-front to rename @stackframe/* imports to @hexclave/* (with the @stackframe/stack → @hexclave/next exception) so the basic upgrade path doesn't require a click through to the docs. Migration guide link stays but is de-emphasized. --- .../src/components/hexclave-rebrand-modal.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx index c802418661..b96ff01bc5 100644 --- a/apps/dashboard/src/components/hexclave-rebrand-modal.tsx +++ b/apps/dashboard/src/components/hexclave-rebrand-modal.tsx @@ -112,16 +112,22 @@ export function HexclaveRebrandModal() { > app.hexclave.com - . For more info on how to update your project, read our{" "} + . To update your project, rename all{" "} + @stackframe/* imports to{" "} + @hexclave/* — the only + exception is{" "} + @stackframe/stack, which + becomes @hexclave/next. + See the{" "} migration guide - - . + {" "} + for full details.