buildmymcpserver/apps/web/app
Marco Sadjadi 0c6d738a6b
All checks were successful
Deploy to Production / deploy (push) Successful in 1m27s
feat(preview): SSE-streamed generation, no CF 100s edge cap
Architectural fix for "spec_too_large" / preview_timeout — the sync
endpoint had to fit the whole model run into Cloudflare's ~100s edge
window, which made the system fragile against any prompt that produced
a verbose spec. The new streaming path pipes Anthropic's token deltas
as Server-Sent Events; every chunk resets CF's idle timer and a 15s
keepalive comment guarantees activity even during slow first-token
windows.

@bmm/llm: new streamSpecFromAnthropic() exposes the SDK's .stream()
flow with the same typed-error contract as generateSpec — same
SpecTruncatedError / SpecValidationError / SpecTimeoutError raised from
the relevant moment.

API: POST /v1/servers/preview/stream returns text/event-stream with
events 'text' (deltas), 'spec' (final success payload, same shape as
the sync endpoint), 'error' (typed). Anthropic-only — GLM/hobby falls
back to the sync route via 409 streaming_unavailable.

Frontend: apiSseStream() handles the POST + ReadableStream + SSE
parser. The wizard's analyze() prefers the stream and only uses the
sync endpoint on the explicit 409 fallback.

nginx (api.buildmymcpserver.com): the /v1/builds/ location block (which
already had proxy_buffering off + 600s read timeout for the WS build
stream) now also matches /v1/servers/preview/stream so the SSE
response isn't buffered.
2026-05-28 21:11:05 +02:00
..
(dashboard) feat(preview): SSE-streamed generation, no CF 100s edge cap 2026-05-28 21:11:05 +02:00
(marketing) fix(oauth): allow generic RFC 7591 DCR + expand install snippets 2026-05-28 17:20:01 +02:00
admin fix(admin): make whole support-ticket row clickable 2026-05-25 17:36:31 +02:00
docs fix(mcp): RFC 9728 protected-resource metadata path + audience binding 2026-05-28 20:54:27 +02:00
login feat(video): v10 hero video with mute toggle — voice + bg music 2026-05-28 02:31:10 +02:00
templates feat(web): drop 'newest' sort + width-cap categories on /templates 2026-05-26 19:27:57 +02:00
apple-icon.tsx feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image 2026-05-21 19:16:40 +02:00
globals.css feat(web): glow-pulse on primary CTAs + hero fills full first viewport 2026-05-27 12:20:25 +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 feat(web): mobile-responsive /templates + drop pre-launch SiteBanner 2026-05-26 06:43:56 +02:00
manifest.ts feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image 2026-05-21 19:16:40 +02:00
opengraph-image.tsx feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image 2026-05-21 19:16:40 +02:00
robots.ts feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image 2026-05-21 19:16:40 +02:00
sitemap.ts feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image 2026-05-21 19:16:40 +02:00