12 Commits

Author SHA1 Message Date
46ce29d8cc Merge pull request 'Restrict send window to Mon–Fri 10–17 Toronto' (#4) from fix/weekday-business-hours into main 2026-07-21 09:41:41 -05:00
751e0da2a1 Restrict default send window to Mon–Fri 10–17 Toronto.
Stop overnight and weekend warmup mail by aligning defaults with the live quiet-hours policy.
2026-07-21 10:13:04 -04:00
07028c6dc6 Merge pull request 'Sanitize folded email headers before SMTP send' (#3) from fix/sanitize-folded-headers into main 2026-07-18 14:58:11 -05:00
84d55539dc Sanitize folded email headers before SMTP send.
IMAP References/Subject often arrive with CRLF folding; EmailMessage
rejects those newlines. Unfold at ingest and again in mailer.send.
2026-07-18 15:58:12 -04:00
28226cb7fb Merge pull request 'Hold auto-replies to business hours' (#2) from fix/business-hours-replies into main 2026-07-18 14:30:31 -05:00
8a994a1fd4 Hold auto-replies to the business-hours window.
Queued replies that come due overnight stay in SQLite until the window
opens, matching new-thread gating. Also add .gitleaks.toml so the global
pre-commit hook can run.
2026-07-18 15:30:22 -04:00
1aad2232bd ci: add local pre-commit gitleaks hook 2026-07-13 15:04:38 -05:00
e175b6b947 Restrict new warmup threads to levkine.ca senders.
Personal full_duplex inboxes still receive and auto-reply; skip Gmail↔Gmail chatter.
2026-07-09 21:37:18 -04:00
b0db0a26e3 Scrub personal addresses from examples, tests, and intro email docs.
Real participants stay in gitignored hearth.yml/.env on the deploy host only.
2026-07-09 20:44:29 -04:00
9370e768c8 Add active-participant allow-list filter + intro email doc for onboarding 2026-07-09 14:18:47 -04:00
a324ef2fe8 Update example config to match deployed full_duplex mailbox (ilia@levkine.ca) 2026-07-09 12:37:46 -04:00
2e2e64c08b Initial commit: Hearth consent-only email warmup tool 2026-07-09 12:22:15 -04:00