You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Investigated the current main before filing this — the bug is still present. isCloud() exists in platform.v3.server.ts (line 1228) and is already used
to gate billing, but it's never called from the deployment path or the
integrations settings UI.
The fix is three places:
deployment.server.ts — add an early if (!isCloud()) return errAsync({ type: "native_build_not_available" }) guard in enqueueBuild, following the same pattern as the existing s2_is_disabled early return in the same file.
initializeDeployment.server.ts — branch on the new error type in the .orElse handler to cancel with an accurate message ("deploy with the CLI or GitHub Action instead") rather than the generic "please try again shortly."
route.tsx (integrations settings) — add isCloud: isCloud() to the loader, use it to hide the native-build-server checkbox for self-hosted instances.
Prior contributions or relevant experience
Background: founding engineer at Finlegia, open source contributor at Appwrite — built their VCS integration layer (GitLab, Gitea, Forgejo, Bitbucket) and SSR runtimes, credited in Init 2026 launch.
Activity
matt-aitken commentedon Oct 7, 2026
We have a new Vouch policy, please see the discussion here: #5010