History

rename guest wording and print install version

Align user-facing and seeded anonymous-account labels with anonymous terminology, and show resolved installer version in install and sandbox flows to make release debugging explicit.

Rhys Sullivan committed 8 months ago

Commit cc72cee1 parent 13acf057 files · +23 −8Browse files

Unified · Split

7 files
  1. .env.example +2 −2
  2. executor/apps/web/src/components/session-info.tsx +1 −1
  3. executor/apps/web/src/components/workspace-selector.tsx +1 −1
  4. executor/apps/web/src/lib/session-context.tsx +1 −1
  5. executor/install +9 −0
  6. executor/packages/database/src/database/anonymous.ts +2 −2
  7. executor/scripts/e2e/install.sandbox.session.ts +7 −1
.env.example+2−2
@@ -11,13 +11,13 @@ CONVEX_SITE_URL=https://your-deployment.convex.site · 10 unmodified lines
11# Set to 1 to force task execution to Cloudflare dynamic worker runtime only.11# Set to 1 to force task execution to Cloudflare dynamic worker runtime only.
12# EXECUTOR_CLOUDFLARE_DYNAMIC_WORKER_ONLY=112# EXECUTOR_CLOUDFLARE_DYNAMIC_WORKER_ONLY=1
13 13
14# ── WorkOS (optional — enables auth, omit for guest-only mode) ──14# ── WorkOS (optional — enables auth, omit for anonymous mode) ──
15# WORKOS_CLIENT_ID=client_...15# WORKOS_CLIENT_ID=client_...
16# WORKOS_API_KEY=sk_test_...16# WORKOS_API_KEY=sk_test_...
17# WORKOS_COOKIE_PASSWORD=<32+ char random string, e.g. openssl rand -base64 32>17# WORKOS_COOKIE_PASSWORD=<32+ char random string, e.g. openssl rand -base64 32>
18# WORKOS_WEBHOOK_SECRET=...18# WORKOS_WEBHOOK_SECRET=...
19 19
20# ── Anonymous JWT Auth (optional — enables guest bearer auth via Convex Auth) ──20# ── Anonymous JWT Auth (optional — enables anonymous bearer auth via Convex Auth) ──
21# Generate an ES256 key pair (PKCS8 private + SPKI public), then set both PEM values.21# Generate an ES256 key pair (PKCS8 private + SPKI public), then set both PEM values.
22# ANONYMOUS_AUTH_PRIVATE_KEY_PEM="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"22# ANONYMOUS_AUTH_PRIVATE_KEY_PEM="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
23# ANONYMOUS_AUTH_PUBLIC_KEY_PEM="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"23# ANONYMOUS_AUTH_PUBLIC_KEY_PEM="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
executor/apps/web/src/components/session-info.tsx+1−1
@@ -227,7 +227,7 @@ export function SessionInfo() { · 226 unmodified lines
227 </Button>227 </Button>
228 </Link>228 </Link>
229 ) : (229 ) : (
230 <p className="text-[11px] text-muted-foreground text-center">Guest mode</p>230 <p className="text-[11px] text-muted-foreground text-center">Anonymous mode</p>
231 )}231 )}
232 </div>232 </div>
233 )}233 )}
executor/apps/web/src/components/workspace-selector.tsx+1−1
@@ -268,7 +268,7 @@ export function WorkspaceSelector({ inHeader = false }: { inHeader?: boolean }) · 267 unmodified lines
268 )268 )
269 : (269 : (
270 <DropdownMenuItem disabled className="text-xs">270 <DropdownMenuItem disabled className="text-xs">
271 Guest workspace271 Anonymous workspace
272 </DropdownMenuItem>272 </DropdownMenuItem>
273 )}273 )}
274 {supportsOrganizationManagement ? (274 {supportsOrganizationManagement ? (
executor/apps/web/src/lib/session-context.tsx+1−1
@@ -139,7 +139,7 @@ export function SessionProvider({ children }: { children: ReactNode }) { · 138 unmodified lines
139 staleTime: Number.POSITIVE_INFINITY,139 staleTime: Number.POSITIVE_INFINITY,
140 queryFn: async () => {140 queryFn: async () => {
141 if (!storedSessionId) {141 if (!storedSessionId) {
142 throw new Error("No guest session id available");142 throw new Error("No anonymous session id available");
143 }143 }
144 144
145 const context = await bootstrapAnonymousSession({ sessionId: storedSessionId });145 const context = await bootstrapAnonymousSession({ sessionId: storedSessionId });
executor/install+9−0
@@ -736,6 +736,15 @@ fi · 735 unmodified lines
736 736
737echo ""737echo ""
738echo "Installed to: $INSTALL_DIR/$APP"738echo "Installed to: $INSTALL_DIR/$APP"
739if [[ -n "$RESOLVED_VERSION" ]]; then
740 if [[ "$RESOLVED_VERSION" == "latest" ]]; then
741 echo "Version: latest"
742 else
743 echo "Version: v$RESOLVED_VERSION"
744 fi
745elif [[ -n "$BINARY_PATH" || -f "$LOCAL_BINARY_CANDIDATE" ]]; then
746 echo "Version: local build"
747fi
739if [[ -f "$WEB_INSTALL_DIR/server.js" ]]; then748if [[ -f "$WEB_INSTALL_DIR/server.js" ]]; then
740 echo "Web bundle installed to: $WEB_INSTALL_DIR"749 echo "Web bundle installed to: $WEB_INSTALL_DIR"
741fi750fi
executor/packages/database/src/database/anonymous.ts+2−2
@@ -45,8 +45,8 @@ export async function ensureAnonymousIdentity( · 44 unmodified lines
45 const accountId = await ctx.db.insert("accounts", {45 const accountId = await ctx.db.insert("accounts", {
46 provider: "anonymous",46 provider: "anonymous",
47 providerAccountId,47 providerAccountId,
48 email: `${providerAccountId}@guest.executor.local`,48 email: `${providerAccountId}@anonymous.executor.local`,
49 name: "Guest User",49 name: "Anonymous User",
50 status: "active",50 status: "active",
51 createdAt: now,51 createdAt: now,
52 updatedAt: now,52 updatedAt: now,
executor/scripts/e2e/install.sandbox.session.ts+7−1
@@ -205,6 +205,13 @@ try { · 204 unmodified lines
205 );205 );
206 assertSuccess(install, "sandbox install");206 assertSuccess(install, "sandbox install");
207 207
208 const installedVersion = extractSemver(install) ?? extractInstalledVersion(install);
209 if (installedVersion) {
210 console.log(`[sandbox] installed executor version: v${installedVersion}`);
211 } else {
212 console.warn("[sandbox] could not determine installed executor version from installer output");
213 }
214
208 const runtimeDoctor = await runSandboxBash(215 const runtimeDoctor = await runSandboxBash(
209 sandbox,216 sandbox,
210 "~/.executor/bin/executor doctor --runtime-only --verbose",217 "~/.executor/bin/executor doctor --runtime-only --verbose",
@@ -228,7 +235,6 @@ try { · 17 unmodified lines
228 if (isNoProjectDoctorResult(doctor)) {235 if (isNoProjectDoctorResult(doctor)) {
229 console.warn("[sandbox] doctor reported no local project context; attempting bootstrap recovery from release tag source");236 console.warn("[sandbox] doctor reported no local project context; attempting bootstrap recovery from release tag source");
230 237
231 const installedVersion = extractSemver(install) ?? extractInstalledVersion(install);
232 if (!installedVersion) {238 if (!installedVersion) {
233 throw new Error("Could not determine installed executor version for bootstrap recovery");239 throw new Error("Could not determine installed executor version for bootstrap recovery");
234 }240 }