From 3c0c54e804f28e3b172f5348c80a1ba0948784c5 Mon Sep 17 00:00:00 2001 From: Josh Wright Date: Mon, 28 Sep 2026 10:13:37 -0400 Subject: [PATCH] Clarify saved key status in Keys (fixes #53) --- README.md | 4 +++- src/lib/ui/components/DeployServerDialog.svelte | 2 +- src/routes/server-keys/+page.svelte | 10 ++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 461c59a..96ce9c0 100644 --- a/README.md +++ b/README.md @@ -235,7 +235,9 @@ During deployment, choose the map. The lowest available lobby is assigned automatically, with the exact server ID shown before deployment. Its saved key is reused automatically, and any newly entered key is saved for that ID, including if deployment fails. Destroying a server preserves its saved key. Updating or removing a saved key -does not change a running server; changes apply to future deployments. +does not change an existing server; changes apply when that server ID is next +created or rebuilt. Electric Cherry does not check whether Plutonium accepts a +saved key. **Last saved** shows when the key was saved, not a validation result. Keys are stored in the application's SQLite database at `DB_PATH`, independently of server records. Preserve that database across container replacements. Key diff --git a/src/lib/ui/components/DeployServerDialog.svelte b/src/lib/ui/components/DeployServerDialog.svelte index f87a23a..0cd337f 100644 --- a/src/lib/ui/components/DeployServerDialog.svelte +++ b/src/lib/ui/components/DeployServerDialog.svelte @@ -136,7 +136,7 @@
Your new server{preview.name ?? 'Waiting for an available lobby'}

{preview.port ? `Port ${preview.port} · ` : ''}Fresh identity, with its own server key.

{#if preview.hasSavedKey}

Saved key ready

{:else}{/if} -

{preview.hasSavedKey ? 'The saved key for this server ID will be reused automatically. Its validity is checked when the game starts. Update it in Keys.' : 'Add the key here. It is saved for this exact server ID when you launch, including if provisioning fails.'} Manage saved keys in a new tab; your launch stays open here.

+

{preview.hasSavedKey ? 'The saved key for this server ID will be reused automatically. Electric Cherry does not check whether Plutonium accepts it. Update it in Keys.' : 'Add the key here. It is saved for this exact server ID when you launch, including if provisioning fails.'} Manage saved keys in a new tab; your launch stays open here.

{#if !sourceDeploymentId}{/if}
{#if !preview.hasSavedKey && !plutoKey.trim()}

Enter this server’s key to enable launch.

{/if}

Preview valid until {$timeFormat.minuteTime(preview.expiresAt)}. Lobby and port availability are checked again at launch.

diff --git a/src/routes/server-keys/+page.svelte b/src/routes/server-keys/+page.svelte index 68c3079..fdd5b36 100644 --- a/src/routes/server-keys/+page.svelte +++ b/src/routes/server-keys/+page.svelte @@ -91,6 +91,7 @@ {#snippet actions()}{/snippet} +

Saved keys are reused when a server is created or rebuilt. Electric Cherry does not check whether Plutonium accepts them. Updating or removing a saved key does not change an existing server.

{ search = event.currentTarget.value; limit = 25; saveSearch(); }} placeholder="Search servers…" />
{#if error && !open}{/if} @@ -100,12 +101,12 @@ {:else if !filtered.length} {:else}
- + {#each filtered.slice(0,limit) as key (key.server_id)} - +
Server IDStatusKeyActions
Server IDServerLast savedActions
{#if key.deployed}{:else}{/if}{key.server_id} {key.deployed ? 'Server exists' : 'No server deployed'}Stored, not validatedSaved {savedAt(key.updated_at)}
Used on next deployment
{savedAt(key.updated_at)}
@@ -125,7 +126,7 @@ {:else}

Server ID: {chosenId}

{/if} {#if !editing && keys.some(key => key.server_id === chosenId)}

A key is already saved for this ID. Saving replaces it for the next deployment; the running server keeps its current key.

{/if} - +
@@ -136,7 +137,8 @@ {#if !validId || !plutoKey.trim()}

Choose a valid server ID and enter its Plutonium key to save.

{/if}