Notify question authors via Resend when an admin posts the first answer.

Require email at registration (editable on profile), add a Resend mailer with idempotent first-answer sends, and keep answer saves independent of delivery.
This commit is contained in:
2026-08-22 12:39:43 -07:00
parent 35c8c9f391
commit f61b4fc7ab
23 changed files with 589 additions and 71 deletions
+4
View File
@@ -25,6 +25,10 @@
</div>
</div>
<label for="email">Email</label>
<input id="email" name="email" type="email" required maxlength="254" autocomplete="email" value="{{.EmailVal}}">
<p class="hint">Required. Well email you when a plumber answers your question.</p>
<label for="state">State</label>
<select id="state" name="state">
<option value=""{{if eq .StateVal ""}} selected{{end}}>Prefer not to say</option>
+3
View File
@@ -9,6 +9,9 @@
<label for="username">Username</label>
<input id="username" name="username" type="text" required minlength="3" maxlength="20" pattern="[A-Za-z0-9_]+" autocomplete="username" autocapitalize="off" spellcheck="false" value="{{.Username}}">
<p class="hint">320 letters, numbers, or underscores.</p>
<label for="email">Email</label>
<input id="email" name="email" type="email" required maxlength="254" autocomplete="email" value="{{.Email}}">
<p class="hint">Well email you when a plumber answers your question.</p>
<label for="password">Password</label>
<input id="password" name="password" type="password" required minlength="8" maxlength="72" autocomplete="new-password">
<p class="hint">At least 8 characters (max 72 bytes).</p>