Commit Graph

  • 3dc65e4f4d fix(ux): human-readable API errors instead of raw api_error_NNN codes main Marco Sadjadi 2026-05-31 21:08:39 +0200
  • 2a12ea18cd fix(wizard): editable slug on confirm step so slug_taken (409) is fixable in place Marco Sadjadi 2026-05-31 19:56:45 +0200
  • be02600759 feat(security): block credentials from reaching the LLM via prompt secret scan Marco Sadjadi 2026-05-31 19:52:16 +0200
  • ee4713f82c feat(account): self-service GDPR Art.17 erasure; Enterprise price -> Custom Marco Sadjadi 2026-05-31 19:23:41 +0200
  • bd82a67fba fix(claims): purge false tier claims from landing, billing cards and legal docs Marco Sadjadi 2026-05-31 13:43:46 +0200
  • 7eb323e8f8 fix(pricing): every tier claim now true or honest; build real priority queue Marco Sadjadi 2026-05-31 13:33:41 +0200
  • 74ca59b8b7 @ fix(pricing): honest Enterprise claims — drop unbuilt BYOC/SSO/dedicated-cluster Marco Sadjadi 2026-05-31 13:22:50 +0200
  • 4d717d877f @ feat(pricing): generic "Claude AI" label on paid tiers instead of model names Marco Sadjadi 2026-05-31 13:09:00 +0200
  • 4687c8be52 @ fix(billing): correct Stripe API version + harden checkout; clarify wizard secrets Marco Sadjadi 2026-05-31 12:08:05 +0200
  • 1349dc1dc0 @ feat(web): SEO — server-rendered template pages + /guides articles Marco Sadjadi 2026-05-31 12:08:05 +0200
  • 21a5cf5762 @ feat(web): subtle hover/tap video controls (seek + play/pause) Marco Sadjadi 2026-05-30 20:55:48 +0200
  • cf423de3d5 @ feat(billing): in-app embedded Stripe checkout + webhook hardening Marco Sadjadi 2026-05-29 20:56:40 +0200
  • 9d5386ccba @ fix(security): sovereign-audit hardening pass — RCE, multi-tenant, reliability Marco Sadjadi 2026-05-29 20:56:30 +0200
  • 092290bb38 fix(preview/stream): await onSpec/onError handlers Marco Sadjadi 2026-05-28 22:00:03 +0200
  • 29e699dc74 fix(preview/stream): emit CORS headers before flushHeaders() Marco Sadjadi 2026-05-28 21:53:35 +0200
  • 31bfeed9dd feat(dashboard): delete button on server detail page Marco Sadjadi 2026-05-28 21:44:52 +0200
  • ec819082a6 fix(llm): escape backticks in SYSTEM_PROMPT (broke typecheck) Marco Sadjadi 2026-05-28 21:39:34 +0200
  • 147ba69968 fix(runner): alias params/input to args so tool implementations don't ReferenceError Marco Sadjadi 2026-05-28 21:39:11 +0200
  • b421457010 fix(oauth): accept client_secret_basic on /oauth/token (RFC 6749 §2.3.1) Marco Sadjadi 2026-05-28 21:28:23 +0200
  • 44cebc9fd8 fix(oauth): accept application/x-www-form-urlencoded on /oauth/token Marco Sadjadi 2026-05-28 21:21:40 +0200
  • 0c6d738a6b feat(preview): SSE-streamed generation, no CF 100s edge cap Marco Sadjadi 2026-05-28 21:11:05 +0200
  • b930a454e8 fix(llm): tighter system prompt + 12288 max_tokens for paid tiers Marco Sadjadi 2026-05-28 21:01:50 +0200
  • 4d136c4fb2 fix(mcp): RFC 9728 protected-resource metadata path + audience binding Marco Sadjadi 2026-05-28 20:54:27 +0200
  • 1d845abf92 fix(oauth): resolve server by path segment, not subdomain Marco Sadjadi 2026-05-28 19:58:31 +0200
  • 86cf89ef42 fix(oauth): serve AS metadata at the RFC 8414 strict path Marco Sadjadi 2026-05-28 19:47:47 +0200
  • d2b19a5439 fix(preview): max_tokens 4096→8192 + detect truncation explicitly Marco Sadjadi 2026-05-28 19:34:40 +0200
  • 979d1abfca feat(preview): log spec validation failures with raw output Marco Sadjadi 2026-05-28 19:19:57 +0200
  • 5a8e736113 fix(llm): preview timeout 60s→90s + maxTokens 8192→4096 Marco Sadjadi 2026-05-28 18:51:51 +0200
  • 1093dc40a7 fix(runner): correct PUBLIC_URL + mount runner-map volume Marco Sadjadi 2026-05-28 17:54:56 +0200
  • 3a05766f88 fix(oauth): allow generic RFC 7591 DCR + expand install snippets Marco Sadjadi 2026-05-28 17:20:01 +0200
  • e75f9ad4fe feat(marketing): real brand logos for the integrations grid Marco Sadjadi 2026-05-28 16:54:04 +0200
  • 7a32385e2b feat(marketing): give each below-the-fold section its own visual archetype Marco Sadjadi 2026-05-28 16:36:06 +0200
  • 05746e13e6 fix(video): drop WebM source + load()-before-play() + open-in-tab fallback Marco Sadjadi 2026-05-28 03:26:56 +0200
  • b464b5640f feat(video): play-overlay for blocked autoplay + click-to-play Marco Sadjadi 2026-05-28 03:21:04 +0200
  • 438ce3cfbc feat(video): v10 hero video with mute toggle — voice + bg music Marco Sadjadi 2026-05-28 02:31:10 +0200
  • 6197ee7f5e feat: particle cloud (no discrete dots) + geo-IP country preselect on login Marco Sadjadi 2026-05-27 13:17:20 +0200
  • 035e55f00c feat(web): mobile-fit hero tiles + voluminous calmer particle field + FAQ accordion Marco Sadjadi 2026-05-27 12:35:03 +0200
  • 6f8b8da151 feat(web): glow-pulse on primary CTAs + hero fills full first viewport Marco Sadjadi 2026-05-27 12:20:25 +0200
  • 0cf9c66b6b feat(web): restore tall hero + carousel slide + viewport-fixed scroll cue Marco Sadjadi 2026-05-27 12:11:42 +0200
  • e4e437c44c feat(web): hero redesign — cycling step rotator + full-width video section Marco Sadjadi 2026-05-27 12:05:28 +0200
  • 22ba23f353 fix(video): make Beat 2 visible — bigger particles, parallel schematic stroke Marco Sadjadi 2026-05-27 11:06:26 +0200
  • fd147f9998 feat(web): Remotion hero video — Section 2 (prompt → server → connect) Marco Sadjadi 2026-05-27 10:57:08 +0200
  • 591a1cb575 ops: backup hardening + restore drill + self-hosted uptime monitor Marco Sadjadi 2026-05-26 23:46:42 +0200
  • 2267daadd4 perf(web): server-only StaticCodeBlock for above-the-fold marketing Marco Sadjadi 2026-05-26 23:30:41 +0200
  • 9f1135325c feat(web): drop 'newest' sort + width-cap categories on /templates Marco Sadjadi 2026-05-26 19:27:57 +0200
  • 00c6692c7a feat(web): mobile-responsive /templates + drop pre-launch SiteBanner Marco Sadjadi 2026-05-26 06:43:56 +0200
  • f80bd8afbe feat(web): app-like mobile dashboard — bottom tab bar, minimal top Marco Sadjadi 2026-05-25 23:15:44 +0200
  • a8e6f4fabd fix(web): UserMenu + CountryPicker dropdowns frosted (Tailwind v4 bug) Marco Sadjadi 2026-05-25 23:04:02 +0200
  • c656bd3189 fix(web): UserMenu crashes for phone-only signups (null email + name) Marco Sadjadi 2026-05-25 22:59:45 +0200
  • d0f3c202eb fix(tls): pivot per-runner TLS to path-routing on single subdomain Marco Sadjadi 2026-05-25 22:51:30 +0200
  • 8c6f04f034 feat: oauth refresh-token grant + per-runner subdomain TLS plumbing Marco Sadjadi 2026-05-25 22:09:06 +0200
  • e9827b1f77 feat(login): custom CountryPicker — opens downward, searchable, ~150 countries Marco Sadjadi 2026-05-25 21:38:36 +0200
  • 1cccdbdff1 fix(auth): logout actually clears the session cookie in Chrome Marco Sadjadi 2026-05-25 21:14:12 +0200
  • 091454d273 fix(web): single Login/Dashboard button on marketing header Marco Sadjadi 2026-05-25 19:30:27 +0200
  • b248adf5c0 feat(auth): email login soft-disabled until SMTP/Resend is wired Marco Sadjadi 2026-05-25 18:51:57 +0200
  • aa79a71357 security: sovereign-audit Pass-2 fixes — auth-lib, oauth, templates Marco Sadjadi 2026-05-25 18:15:54 +0200
  • f8af3fc0fd security: sovereign-audit Phase 2 fixes — trustProxy, Docker hardening, banned-pattern overhaul Marco Sadjadi 2026-05-25 18:02:59 +0200
  • 1c58977596 feat: user menu + profile page + in-app subscription management Marco Sadjadi 2026-05-25 17:46:36 +0200
  • 1b8f61df5f fix(admin): make whole support-ticket row clickable Marco Sadjadi 2026-05-25 17:36:31 +0200
  • 20910f5466 fix(admin): Support entry in sidebar + awaiting-admin badge Marco Sadjadi 2026-05-25 17:23:33 +0200
  • ef30baf52a feat: Swiss-compliant launch — Impressum/AGB/Contact, support panel, DSG exports, cookie banner Marco Sadjadi 2026-05-25 17:12:06 +0200
  • c2a21fc3cd feat(billing): Stripe Checkout + Customer Portal + signed webhook Marco Sadjadi 2026-05-25 16:30:42 +0200
  • defb4186b4 fix(quotas): tighten Team/Enterprise daily preview caps to stay profitable Marco Sadjadi 2026-05-24 00:14:07 +0200
  • bc174c1302 feat: tiered LLM (GLM free / Claude paid) + rate limits + quota enforcement Marco Sadjadi 2026-05-23 23:50:00 +0200
  • 66128c73d8 fix(web): mobile menu background via inline style (Tailwind v4 quirk) Marco Sadjadi 2026-05-23 18:43:57 +0200
  • 389446ea16 fix(web): solid background for the marketing mobile menu Marco Sadjadi 2026-05-23 18:24:36 +0200
  • dc5bbaa0ae feat(web): mobile bottom action bar for + New server Marco Sadjadi 2026-05-23 00:19:31 +0200
  • 083b6e5d41 fix(preview): switch spec generation to Haiku 4.5 to fit the proxy window Marco Sadjadi 2026-05-22 00:03:12 +0200
  • e198d44e1e fix(preview): stop spec generation timing out behind the edge proxy Marco Sadjadi 2026-05-21 23:52:48 +0200
  • 5d0d5668d8 feat(web): country-code picker, auth-aware header, dedupe new-server CTA Marco Sadjadi 2026-05-21 23:41:19 +0200
  • 88c7262a08 fix(web): mobile-responsive hero, marketing site, docs and dashboard Marco Sadjadi 2026-05-21 23:25:26 +0200
  • 2e5bf5b44b fix(web): self-destructing sw.js to evict the stale GoDaddy Airo worker Marco Sadjadi 2026-05-21 23:06:56 +0200
  • cc3c5ad444 feat(auth): GitHub OAuth login + SMS one-time-code login Marco Sadjadi 2026-05-21 22:59:58 +0200
  • f5107922a0 perf(web): inline CSS + modern browserslist Marco Sadjadi 2026-05-21 19:57:30 +0200
  • 36a1adf4d7 fix(web): banner contrast meets WCAG AA Marco Sadjadi 2026-05-21 19:31:34 +0200
  • b843394d0f feat(web): full SEO stack — metadata, JSON-LD, sitemap, robots, OG image Marco Sadjadi 2026-05-21 19:16:40 +0200
  • 617886352c fix(web): banner background renders via inline color Marco Sadjadi 2026-05-21 19:01:50 +0200
  • cd428d5ba3 style(web): biome — drop redundant role, format banner files Marco Sadjadi 2026-05-21 18:57:49 +0200
  • 390cf5e8a1 feat(web): sitewide pre-launch preview banner Marco Sadjadi 2026-05-21 18:57:16 +0200
  • c016bf237b feat(deploy): nginx vhost serves :443 with a self-signed origin cert Marco Sadjadi 2026-05-21 18:10:22 +0200
  • a288179954 fix(docker): healthcheck must hit 127.0.0.1, not localhost Marco Sadjadi 2026-05-21 18:07:01 +0200
  • c7e6537c64 fix(deploy): rework prod artifacts to match the actual Hetzner box Marco Sadjadi 2026-05-21 17:48:57 +0200
  • a54f6218a7 docs(deploy): flag buildmymcp.com vs buildmymcpserver.com domain mismatch Marco Sadjadi 2026-05-21 00:37:59 +0200
  • e46a9a1cf8 feat(web): surface the template marketplace on the landing page Marco Sadjadi 2026-05-21 00:37:06 +0200
  • 8a7ffe673d feat(deploy): production Dockerfiles, compose stack, and runbook Marco Sadjadi 2026-05-21 00:37:02 +0200
  • 2b098c5d33 fix(web): wrap useSearchParams in Suspense so next build can prerender Marco Sadjadi 2026-05-21 00:36:56 +0200
  • 38aa5875d3 feat(auth): add "Continue with Google" OAuth 2.0 login Marco Sadjadi 2026-05-21 00:26:44 +0200
  • a68e882092 feat(crypto): envelope encryption + key rotation via admin panel Marco Sadjadi 2026-05-20 22:36:08 +0200
  • 8d47b20ae5 fix(generator): iterate orphaned the previous container — rolling deploy Marco Sadjadi 2026-05-20 20:58:30 +0200
  • 9cce4a94c2 fix(security): sovereign-audit — close 2 HIGH + 3 MEDIUM findings Marco Sadjadi 2026-05-20 18:15:03 +0200
  • c78420e0be fix(wizard): fork 409 — auto-unique slug + editable name/slug in fork step Marco Sadjadi 2026-05-20 17:23:24 +0200
  • 414903f16d feat(marketplace): dashboard nav link + My-templates filter Marco Sadjadi 2026-05-20 17:18:58 +0200
  • a189111782 feat(marketplace): default-on share in wizard + owner unshare anytime Marco Sadjadi 2026-05-20 17:04:46 +0200
  • 2ad4a7e34c fix(security): template integration sovereign audit + critical fixes Marco Sadjadi 2026-05-19 23:35:45 +0200
  • 8334de13a8 feat(marketplace): template publish + fork + voting/ranking + admin moderation Marco Sadjadi 2026-05-19 23:22:35 +0200
  • c62fcd07ef feat(admin): password-auth admin panel with 8 pages + 15 API endpoints Marco Sadjadi 2026-05-19 23:01:26 +0200
  • 9acc2adb0d fix(web): favicon matches nav-bar logo (monochrome outline, prefers-color-scheme) Marco Sadjadi 2026-05-19 22:44:58 +0200
  • bffa43f670 feat(web): favicon (SVG) + apple-touch-icon (Next ImageResponse) Marco Sadjadi 2026-05-19 22:28:47 +0200
  • dda8f94de4 feat(wizard): editable spec in step 2 — name, description, JSON schema, secrets Marco Sadjadi 2026-05-19 22:10:26 +0200
  • 09688c1114 feat(web): real 3-step wizard, settings, audit, docs, marketing pages Marco Sadjadi 2026-05-19 18:20:31 +0200