From ee4dff09c938ff9976643ff779522b45433cd051 Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Fri, 24 Jul 2026 15:20:00 +0100 Subject: [PATCH] feat: show the instance ID after setup --- server/internal/auth/local.go | 6 +++++- web/app/setup/page.tsx | 19 +++++++++++++++++-- web/lib/api.ts | 1 + 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/server/internal/auth/local.go b/server/internal/auth/local.go index ecd65f1..9d6b513 100644 --- a/server/internal/auth/local.go +++ b/server/internal/auth/local.go @@ -126,7 +126,11 @@ func HandleBootstrap(c *gin.Context) { return } SetSessionCookie(c, sessionID) - c.JSON(http.StatusCreated, gin.H{"instance": inst, "slug": inst.Slug}) + c.JSON(http.StatusCreated, gin.H{ + "instance": inst, + "slug": inst.Slug, + "instance_id": inst.InstanceID, + }) } func HandleMe(c *gin.Context) { diff --git a/web/app/setup/page.tsx b/web/app/setup/page.tsx index 76b3a6f..2922088 100644 --- a/web/app/setup/page.tsx +++ b/web/app/setup/page.tsx @@ -39,7 +39,7 @@ export default function SetupPage() { const [password, setPassword] = useState(""); const [confirm, setConfirm] = useState(""); const [validationError, setValidationError] = useState(null); - const [created, setCreated] = useState<{ slug: string; loginUrl: string } | null>(null); + const [created, setCreated] = useState<{ slug: string; loginUrl: string; instanceId: string } | null>(null); useEffect(() => { auth.bootstrapStatus() @@ -56,7 +56,7 @@ export default function SetupPage() { } = useMutation({ mutationFn: () => auth.bootstrap({ instance_name: instanceName, email, password }), onSuccess: (res) => { - setCreated({ slug: res.slug, loginUrl: instanceLoginUrlForSlug(res.slug) }); + setCreated({ slug: res.slug, loginUrl: instanceLoginUrlForSlug(res.slug), instanceId: res.instance_id }); }, }); @@ -93,6 +93,21 @@ export default function SetupPage() { you just chose.

{created.loginUrl} + +
+

Instance ID — needed to activate a licence

+
+ {created.instanceId} + +
+
+