This website requires JavaScript.
Explore
Help
Sign In
starred
/
warmbly
Watch
1
Star
0
Fork
0
mirror of
https://github.com/warmbly/warmbly.git
synced
2026-09-06 00:01:24 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
Files
4bc971eecbd2d75e35950ff2b554128ecc6eeab4
warmbly
/
internal
/
notify
/
templates
T
History
Matthew Meszaros
315509d0da
feat: replace the purple lock card with a full-screen plan chooser on the auth screen's sky (warm 10 mailboxes free, self-host and link, or choose a plan), give the hosted Accounts page a two-path panel (connect a mailbox here, or self-host for free and link the instance) that collapses to a usage strip once mailboxes exist, drop indigo from the access dialog, describe the free plan honestly in the catalog, and default the transactional email footer to the real company details (Mindroot Ltd, 16543299, 71-75 Shelton Street)
2026-08-29 08:48:13 -07:00
..
base.go
feat: replace the purple lock card with a full-screen plan chooser on the auth screen's sky (warm 10 mailboxes free, self-host and link, or choose a plan), give the hosted Accounts page a two-path panel (connect a mailbox here, or self-host for free and link the instance) that collapses to a usage strip once mailboxes exist, drop indigo from the access dialog, describe the free plan honestly in the catalog, and default the transactional email footer to the real company details (Mindroot Ltd, 16543299, 71-75 Shelton Street)
2026-08-29 08:48:13 -07:00
deletion.go
feat: apply email-client review fixes to the danger-zone deletion templates (move the callout background to the td so Outlook renders it, switch the self-closing br to plain br, and interpolate cancelled-deletion names through html/template)
2026-06-28 05:31:23 +00:00
digest.go
feat: notification email channel becomes digest-first: email-channel notifications queue as pending rows (migration 000076 adds group_key/email_state/email_due_at/email_attempts) with a due time from a new per-user email_digest cadence (instant/smart 15m/hourly/daily, security sign-ins always immediate), a 30s flush loop with SKIP LOCKED claims bundles a user's pending rows into one digest email and coalesces org-shared group_key events into a single email with every recipient in To, reading a notification in-app cancels its pending email, and NotifyOrg targets only members holding a permission (Slack fires once per group) with new producers: dead-worker downtime to manage_emails members (SetNX-deduped per incident), trial expiry to manage_billing members via new billing_alert category (replacing the direct owner email), and invitation accepts to manage_team members via new team_activity category
2026-07-20 07:16:25 +02:00
invitation.go
feat: add a branded team-invitation email template with html/template-escaped org and inviter names and a slate CTA button
2026-06-28 05:27:18 +00:00
login_code.go
feat: space out the login-code email between the eyebrow and heading
2026-06-01 16:49:46 +02:00
notification.go
feat: add a generic branded notification email template with an optional CTA button for the in-app notification email channel
2026-06-28 05:27:28 +00:00
registration_code.go
feat: comprehensive unibox + WS latency + dashboard-style transactional emails
2026-05-23 10:07:11 +00:00
reset_password.go
feat: comprehensive unibox + WS latency + dashboard-style transactional emails
2026-05-23 10:07:11 +00:00
templates_test.go
feat: cover the refactored cancelled-deletion email shape with org and user template test cases
2026-06-28 05:31:23 +00:00
trial_expired.go
feat: add a branded trial-expired email template rendered through the shared transactional base shell in internal/notify/templates
2026-06-28 05:27:18 +00:00
welcome.go
feat: make self-hosted auth work without a mail relay by rewriting the platform SMTP transport with real AUTH and TLS (it did neither, so SMTP_USERNAME/SMTP_PASSWORD were dead and every documented relay was unreachable), adding MAIL_TRANSPORT=smtp|log|ses with a log transport that prints codes so a fresh install can sign in with no relay, demoting the emailed login code to AUTH_LOGIN_CODE=always|new_device|off (off on self-host, per NIST SP 800-63B and OWASP ASVS), claiming the first owner through a single-use setup link or WARMBLY_BOOTSTRAP_* instead of register-then-psql, deriving every emailed URL from APP_URL rather than a hardcoded app.warmbly.com that leaked live reset tokens to the vendor, fixing the confirm hooks that read path params against paramless routes and broke login, register and reset confirmation in the dashboard everywhere, adding generic OIDC with PKCE, one-time state, verified nonce and (issuer,subject) identity binding, enforcing 2FA on the social paths that skipped it, adding a per-IP limiter and trusted-proxy handling to the unthrottled auth group, refusing boot on the published default secrets, and dropping mailpit from the default stack (
#99
)
2026-08-14 14:57:09 +02:00