feat: UI catch-up — 5 new pages + grammar wiring + DNS modal + MTA fixes #4051
ccantynzcommented Jun 16, 2026
Originally written by @vercel[bot] on GitHub.
Deployment failed with the following error:
There is no GitHub account connected to this Vercel account.ccantynzcommented Jun 16, 2026
Originally written by @vercel[bot] on GitHub.
The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| alec-rae-com-admin | Jun 16, 2026 9:18am |
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
Originally written by @ccantynz-alt on GitHub.
Imported from https://github.com/ccantynz-alt/AlecRae.com/pull/80
Summary
Major UI catch-up session — brought 5 completely-missing feature pages to life and fixed several production bugs.
New Pages Built
/smart-folders) — full CRUD for dynamic saved searches: create with any filter combination (from/to/subject/body/attachment/date/labels), open filtered inbox, edit/delete per folder/mail-merge) — campaign management with CSV upload/paste,{{variable}}template rendering, live preview of first 3 resolved emails, per-recipient status tracking, auto-poll while sending/shared-inboxes) — tabbed: team inboxes with member management + delegation (delegate to/delegate-for with permission scopes: reply/archive/forward/delete)/chat) — channel list sidebar + day-grouped message thread + send form (Enter to send, Shift+Enter newline), mark-read, delete own messagesapi.tsBug Fixes
onBodyChangeprop toComposeEditor— fires on every keystroke, compose page wires it to_checkGrammar(1.5s debounce → grammarApi → AI Suggestions panel). First time grammar checking has ever actually run./* no-op */with a fullDnsRecordsModal— shows all 4 DNS records (type/name/value), one-click copy, verified/pending badges, propagation notenavigator.onLineinitialized asnull(wastrue) inOfflineComposeBanner+OfflineBadge— eliminates server/client HTML mismatchHEALTH_PORTchanged to8082; health server startup made non-fatal so MTA keeps running even if port is takenWhat's Next (still open)
/documents— API ready, no UI)/ab-tests— API ready, no UI)Test plan
/smart-folders— create a folder with filters, verify it appears in list, click "Open inbox →"/mail-merge— upload CSV, confirm variable detection, send a campaign/shared-inboxes— create a shared inbox, check Delegations tab/chat— create a channel, send messages, confirm day groupingcd /opt/alecrae && git pull origin main && bun install && bun run --cwd apps/web build && sudo systemctl restart alecrae-webhttps://claude.ai/code/session_017mhAkS4qhMjcvVnyFi61xp
Generated by Claude Code