Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

stack: auth email templates with content_path are refused, so a project with custom templates cannot start on the experimental stack

Đang mở
#7,200 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
54/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
cli

Hướng nghiên cứu

Start with apps/cli/src/command-internal/stack-config.ts around the configValidationError check cited in the issue, then read the closed issue #6803 for the earlier template-serving approach. Trace how the legacy stack serves files through Kong and how each experimental Auth launch is configured. Done means content_path templates are served on both experimental runtimes, or the stack starts with built-in templates and warns as requested.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

🐛 Bug supabase/cli
Affected area

Local development

Supabase CLI version

2.121.0

Operating system

macOS 27.0.1 (Apple silicon)

Installation method

npm

Command
SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
Actual output
$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.template.confirmation.content_path requires template serving, which is not supported by the experimental stack"}}

$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime docker
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.template.confirmation.content_path requires template serving, which is not supported by the experimental stack"}}

# with [auth.email.notification.password_changed] content_path set instead
$ SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native
{"_tag":"Error","error":{"code":"ExperimentalStackStartError","message":"auth.email.notification.password_changed.content_path requires template serving, which is not supported by the experimental stack"}}
Expected behavior

Auth templates set with content_path are served on the experimental stack as they are on the legacy stack.

Until that lands, it would help if the stack started with Auth's built-in templates and printed a warning, instead of refusing to start. CI and agent sandboxes that never send real email don't need the custom HTML. Today the only way through is to strip the config.

Steps to reproduce
  1. mkdir repro && cd repro && supabase init
  2. mkdir -p supabase/templates && echo '<p>{{ .ConfirmationURL }}</p>' > supabase/templates/confirmation.html
  3. Add to supabase/config.toml:
    [auth.email.template.confirmation]
    subject = "Confirm"
    content_path = "./supabase/templates/confirmation.html"
    
  4. SUPABASE_EXPERIMENTAL_STACK=1 supabase start --runtime native fails with the error above. --runtime docker fails the same way.
  5. Without the content_path line, the same command starts. SUPABASE_EXPERIMENTAL_STACK=0 supabase start starts with it in place.
Crash report ID

No response

Docker and service versions
Docker: Client 29.8.2, Server 29.8.2 (linux/arm64)

supabase/postgres       17.11.0.004
supabase/gotrue         v2.197.0
postgrest/postgrest     v16.4
supabase/realtime       v2.143.4
supabase/storage-api    v1.82.1
supabase/edge-runtime   v1.77.4
supabase/studio         2026.10.12-sha-3699278
supabase/postgres-meta  v0.100.0
supabase/logflare       1.53.0
supabase/supavisor      2.9.13
Additional context

The legacy stack (SUPABASE_EXPERIMENTAL_STACK=0) starts the same project. It serves the file through Kong: Auth gets GOTRUE_MAILER_TEMPLATES_CONFIRMATION=http://supabase_kong_<project>:8088/email/confirmation.html, and fetching that URL from the Auth container returns the template.

Our project sets content_path for all five auth templates (confirmation, recovery, invite, magic_link, email_change), so it cannot start on the experimental stack at all. Our workaround: CI deletes every content_path = line from a throwaway checkout before starting the native runtime. Local development stays on the legacy Docker stack because of this.

In the v2.121.0 tag (97531eb590ccd2c5cf215287ae03e877180810b4), apps/cli/src/command-internal/stack-config.ts:872-877 returns this error from configValidationError whenever Auth is enabled. The same check is on develop and next.

#6803 added template serving through a listener scoped to each Auth launch. It was closed on 2026-09-30 while the approach is reworked. I couldn't find an issue tracking the gap, so this is that issue.

I investigated this with help from an AI coding assistant (Claude Code), which also drafted this text. The results above come from real runs.

Ngôn ngữ chính
TypeScript
Star
2.4k
Fork
537
Merge trung bình
19 giờ 40 phút
Pull request đã merge (30 ngày)
403

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của supabase/cli

Tất cả issue của supabase/cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.