From 8c31e23a94fb54960c75435117d2e7b8235c9a0a Mon Sep 17 00:00:00 2001 From: moojttaba Date: Fri, 5 Jun 2026 12:56:12 +0330 Subject: [PATCH] =?UTF-8?q?Activity=20Log:=20backend=20v2.8.93=20+=20front?= =?UTF-8?q?end=20v2.8.109=20=E2=80=94=20email=20change=20hang=20fix=20+=20?= =?UTF-8?q?labels?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- 09 - Audits/Activity Log.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/09 - Audits/Activity Log.md b/09 - Audits/Activity Log.md index dd50e33..bac2515 100644 --- a/09 - Audits/Activity Log.md +++ b/09 - Audits/Activity Log.md @@ -11,6 +11,15 @@ entries on top. Maintained by agents per the rule in `../AGENTS.md`. --- +### 2026-06-05 — backend@v2.8.93, frontend@v2.8.109 — Email change no longer hangs; first-time "add email" label + +**Commits:** backend v2.8.93, frontend v2.8.109 +**Touched:** backend `services/user/userController.ts` (updateUserProfile + resendCurrentUserEmailVerification), `services/email/emailService.ts` (`sendEmail` timeout); frontend `sections/telegram/view/telegram-settings-view.tsx`, `locales/{fa,en,types}.ts` (`email_add`, `email_sending`) +**Why:** Changing the email in Mini App settings hung on «در حال ذخیره…» indefinitely. Root cause: `PUT /user/profile` (and the resend endpoint) `await`ed `emailService.sendVerificationCodeEmail`, which `await`s nodemailer `transporter.sendMail` against a slow/unreachable dev SMTP — the request blocked ~30s+ (confirmed: a live `PUT /user/profile` with a new email never responded within 30s). Fixes: (1) both controllers now persist `pendingEmail`+code synchronously and send the email **fire-and-forget** (`void …catch`), so the request returns immediately; (2) `sendEmail` wraps the SMTP send in a 15s `Promise.race` timeout as a backstop. Frontend: the send-code button's loading text was the generic «در حال ذخیره…» → now «در حال ارسال…» (`email_sending`); and on an account with no email the link now reads «افزودن ایمیل» (`email_add`) instead of «تغییر ایمیل». +**Verification:** backend `npx tsc --noEmit`; frontend `npx tsc --noEmit --ignoreDeprecations 6.0` + eslint — clean. After deploy: email change/add returns instantly and reveals the code-entry panel; email delivery is best-effort in the background (depends on dev SMTP being reachable). + +--- + ### 2026-06-05 — backend@v2.8.92 — seedRequestTemplates: read categories via the non-vital pool **Commits:** backend v2.8.92