From da9a68f0841dbf296ad743d4a5514f093b1b38d9 Mon Sep 17 00:00:00 2001 From: dwindown Date: Fri, 2 Jan 2026 15:20:33 +0700 Subject: [PATCH] Add quick deploy checklist for email template fix --- DEPLOY-CHECKLIST.md | 201 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 DEPLOY-CHECKLIST.md diff --git a/DEPLOY-CHECKLIST.md b/DEPLOY-CHECKLIST.md new file mode 100644 index 0000000..3fab6e4 --- /dev/null +++ b/DEPLOY-CHECKLIST.md @@ -0,0 +1,201 @@ +# 🚀 Quick Deploy Checklist + +## Current Status +- ✅ Auth page registration works in production +- ✅ Email is being sent +- ❌ Email missing master template wrapper (needs deployment) + +## What You Need to Do + +### Step 1: Deploy Updated Edge Function (CRITICAL) + +The email is sending but without the master template. You need to deploy the updated `send-auth-otp` function. + +**Option A: If you have Supabase CLI access** +```bash +ssh root@lovable.backoffice.biz.id +cd /path/to/supabase +supabase functions deploy send-auth-otp +``` + +**Option B: Manual deployment** +```bash +ssh root@lovable.backoffice.biz.id + +# Find the edge functions directory +cd /path/to/supabase/functions + +# Backup current version +cp send-auth-otp/index.ts send-auth-otp/index.ts.backup + +# Copy new version from your local machine +# (On your local machine) +scp supabase/functions/send-auth-otp/index.ts root@lovable.backoffice.biz.id:/path/to/supabase/functions/send-auth-otp/ + +# Restart edge function container +docker restart $(docker ps -q --filter 'name=supabase_edge_runtime') +``` + +**Option C: Git pull + restart** +```bash +ssh root@lovable.backoffice.biz.id +cd /path/to/project +git pull origin main +cp supabase/functions/send-auth-otp/index.ts /path/to/supabase/functions/send-auth-otp/ +docker restart $(docker ps -q --filter 'name=supabase_edge_runtime') +``` + +### Step 2: Verify Deployment + +After deployment, test the registration: + +1. Go to https://with.dwindi.com/auth +2. Register with a NEW email address +3. Check your email inbox + +**Expected Result:** +- ✅ Email has black header with "ACCESS HUB" logo +- ✅ Email has proper brutalist styling +- ✅ OTP code is large and centered +- ✅ Email has footer with unsubscribe links + +### Step 3: Confirm Checkout Flow + +The checkout page already redirects to auth page for registration, so **no changes needed**. + +Verify: +1. Add product to cart +2. Go to checkout +3. If not logged in, redirects to `/auth` +4. Register new account +5. Receive OTP email with proper styling ✅ +6. Verify email +7. Login +8. Complete checkout + +## What Was Fixed + +### Before +```html + +

🔐 Verifikasi Email

+

Halo {nama},

+
{otp_code}
+``` + +### After (With Master Template) +```html + + +... + + + + + + + + + + + + + + + + +
+ ACCESS HUB | NOTIF #123456 +
+ +
+ ACCESS HUB + Email ini dikirim otomatis + Unsubscribe +
+ + +``` + +## Files Changed + +Only ONE file needs to be deployed: +- `supabase/functions/send-auth-otp/index.ts` + +**Changes:** +- Added `EmailTemplateRenderer` class (260 lines) +- Updated email body processing to use master template +- No database changes needed +- No frontend changes needed + +## Testing After Deployment + +```bash +# 1. Register new user +# Go to /auth and fill registration form + +# 2. Check OTP was created +# In Supabase SQL Editor: +SELECT * FROM auth_otps ORDER BY created_at DESC LIMIT 1; + +# 3. Check email received +# Should have: +# - Black header with "ACCESS HUB" +# - Notification ID (NOTIF #XXXXXX) +# - Large OTP code in dashed box +# - Gray footer with unsubscribe links + +# 4. Verify OTP works +# Enter code from email +# Should see: "Verifikasi Berhasil" +``` + +## Success Criteria + +✅ Email has professional brutalist design +✅ ACCESS HUB branding in header +✅ Notification ID visible +✅ OTP code prominently displayed +✅ Footer with unsubscribe links +✅ Responsive on mobile +✅ Works in all email clients + +## Rollback Plan (If Something Breaks) + +```bash +# If deployment fails, restore backup +ssh root@lovable.backoffice.biz.id +cd /path/to/supabase/functions/send-auth-otp +cp index.ts.backup index.ts +docker restart $(docker ps -q --filter 'name=supabase_edge_runtime') +``` + +## Need Help? + +Check logs: +```bash +docker logs $(docker ps -q --filter 'name=supabase_edge_runtime') | tail -100 +``` + +Test edge function directly: +```bash +curl -X POST https://lovable.backoffice.biz.id/functions/v1/send-auth-otp \ + -H "Authorization: Bearer YOUR_SERVICE_KEY" \ + -H "Content-Type: application/json" \ + -d '{"user_id":"TEST_ID","email":"test@example.com"}' +``` + +--- + +## Summary + +**Status:** Ready to deploy +**Files to deploy:** 1 (send-auth-otp edge function) +**Risk:** Low (email improvement only) +**Time to deploy:** ~5 minutes + +After deployment, test registration with a new email to confirm the email has proper styling!