fix(launch): welcome picker shows mesh name + slug (v1.20.1)
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled

The launch welcome flow's menuSelect was rendering opts.meshes.map(
m => m.slug) — so even after rename writes the new name to local
config, the picker still only showed the slug. Renders as
"name  (slug)" when they differ; falls back to slug alone when
they match (default for never-renamed meshes).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-05-03 15:12:23 +01:00
parent e84914b25b
commit 03cff156e2
2 changed files with 6 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "claudemesh-cli",
"version": "1.20.0",
"version": "1.20.1",
"description": "Peer mesh for Claude Code sessions — CLI + MCP server.",
"keywords": [
"claude-code",

View File

@@ -219,7 +219,9 @@ async function runLaunchWizard(opts: {
spinner.stop();
const choice = await menuSelect({
title: "Select mesh",
items: opts.meshes.map(m => m.slug),
items: opts.meshes.map((m) =>
m.name && m.name !== m.slug ? `${m.name} \x1b[2m(${m.slug})\x1b[0m` : m.slug,
),
row,
});
mesh = opts.meshes[choice]!;
@@ -227,7 +229,8 @@ async function runLaunchWizard(opts: {
for (let i = 0; i < opts.meshes.length + 1; i++) {
writeCentered(row + i, " ");
}
writeCentered(row, `Mesh ${tGreen("✓")} ${mesh.slug}`);
const meshLabel = mesh.name && mesh.name !== mesh.slug ? `${mesh.name} (${mesh.slug})` : mesh.slug;
writeCentered(row, `Mesh ${tGreen("✓")} ${meshLabel}`);
spinner.start();
row++;
}