Rip out Theia, ship P5.1 attach E2E + Justine UI work-in-progress
Theia rip-out: - Delete app/api/theia-auth/route.ts (Traefik ForwardAuth shim) - Delete app/api/projects/[projectId]/workspace/route.ts and app/api/projects/prewarm/route.ts (Cloud Run Theia provisioning) - Delete lib/cloud-run-workspace.ts and lib/coolify-workspace.ts - Strip provisionTheiaWorkspace + theiaWorkspaceUrl/theiaAppUuid/ theiaError from app/api/projects/create/route.ts response - Remove Theia callbackUrl branch in app/auth/page.tsx - Drop "Open in Theia" button + xterm/Theia PTY copy in build/page.tsx - Drop theiaWorkspaceUrl from deployment/page.tsx Project type - Strip Theia IDE line + theia-code-os from advisor + agent-chat context strings - Scrub Theia mention from lib/auth/workspace-auth.ts comment P5.1 (custom apex domains + DNS): - lib/coolify.ts + lib/opensrs.ts: nameserver normalization, OpenSRS XML auth, Cloud DNS plumbing - scripts/smoke-attach-e2e.ts: full prod GCP + sandbox OpenSRS + prod Coolify smoke covering register/zone/A/NS/PATCH/cleanup In-progress (Justine onboarding/build, MVP setup, agent telemetry): - New (justine)/stories, project (home) layouts, mvp-setup, run, tasks routes + supporting components - Project shell + sidebar + nav refactor for the Stackless palette - Agent session API hardening (sessions, events, stream, approve, retry, stop) + atlas-chat, advisor, design-surfaces refresh - New scripts/sync-db-url-from-coolify.mjs + scripts/prisma-db-push.mjs + docker-compose.local-db.yml for local Prisma workflows - lib/dev-bypass.ts, lib/chat-context-refs.ts, lib/prd-sections.ts - Misc: stories CSS, debug/prisma route, modal-theme, BuildLivePlanPanel Made-with: Cursor
This commit is contained in:
@@ -408,6 +408,16 @@ export async function setApplicationDomains(
|
||||
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
||||
return `https://${trimmed}`;
|
||||
});
|
||||
// Coolify API: send `domains` (NOT `fqdn`). The controller maps it to
|
||||
// the DB's `fqdn` column internally, but only when the destination
|
||||
// server has `proxy.type=TRAEFIK` (or CADDY) AND `is_build_server=false`
|
||||
// — i.e. when Server::isProxyShouldRun() returns true. If either is
|
||||
// misconfigured, the controller silently drops the field (PATCH returns
|
||||
// 200, fqdn unchanged). We hit this on the missinglettr-test app on
|
||||
// 2026-04-22; the underlying server had proxy.type=null and
|
||||
// is_build_server=true. Fix is in Coolify server-config (UI/DB), not
|
||||
// the client. Sending `fqdn` directly is rejected with 422 ("This
|
||||
// field is not allowed").
|
||||
return updateApplication(uuid, {
|
||||
domains: normalized.join(','),
|
||||
force_domain_override: opts.forceOverride ?? true,
|
||||
|
||||
Reference in New Issue
Block a user