buildmymcpserver/apps/web/app
Marco Sadjadi c78420e0be fix(wizard): fork 409 — auto-unique slug + editable name/slug in fork step
Bug: forking a template POSTed /v1/servers with slug = trySlug(template.title),
a fixed value. If the user had any server with that slug already (e.g. forking
the same template twice, or a name collision), the create returned 409
slug_taken — and the fork wizard skips Step 1, so there was no slug field to
fix it with. The user was stuck (8 repeated 409s in the report).

Fix:
- On fork setup, after the fork call, GET /v1/servers and auto-unique the
  default slug: echo-demo-template -> echo-demo-template-2 -> -3 ... against the
  user's existing slugs. Lookup failure is non-fatal (slug field is editable).
- Fork step 2 now renders editable Name + Slug fields in the fork banner
  ('must be unique in your workspace' hint) — the normal wizard has these in
  Step 1, which the fork flow skips, so they belong here.
- slug_taken build error now reads 'The slug "x" is already used by one of
  your servers — change the Slug field above' instead of the raw code.

Note: the SES lockdown-install.js and content.js 'query' errors in the report
are browser extensions, not the app.

Verified: forked echo-demo-template (whose base slug was already taken) — slug
auto-filled echo-demo-template-2, build succeeded, container live on :4111,
template fork_count incremented to 2.
2026-05-20 17:23:24 +02:00
..
(dashboard) fix(wizard): fork 409 — auto-unique slug + editable name/slug in fork step 2026-05-20 17:23:24 +02:00
(marketing) feat(marketplace): default-on share in wizard + owner unshare anytime 2026-05-20 17:04:46 +02:00
admin feat(marketplace): template publish + fork + voting/ranking + admin moderation 2026-05-19 23:22:35 +02:00
docs feat(web): real 3-step wizard, settings, audit, docs, marketing pages 2026-05-19 18:20:31 +02:00
login feat(web): Next.js 15 shell — design tokens, landing, auth pages 2026-05-19 00:30:20 +02:00
templates feat(marketplace): dashboard nav link + My-templates filter 2026-05-20 17:18:58 +02:00
apple-icon.tsx feat(web): favicon (SVG) + apple-touch-icon (Next ImageResponse) 2026-05-19 22:28:47 +02:00
globals.css fix(security): template integration sovereign audit + critical fixes 2026-05-19 23:35:45 +02:00
icon.svg fix(web): favicon matches nav-bar logo (monochrome outline, prefers-color-scheme) 2026-05-19 22:44:58 +02:00
layout.tsx fix: live-run wiring (SDK 1.29, zod 3.25, OAUTH_ISSUER split, alt host ports, web on 3001, log level cast, pino transport) 2026-05-19 00:57:23 +02:00