Skip to content

Remove in-app email opt-in; automate list sync outside the repo - #2759

Merged
tyler-dane merged 2 commits into
mainfrom
claude/automated-email-onboarding-1360ce
Aug 11, 2026
Merged

Remove in-app email opt-in; automate list sync outside the repo#2759
tyler-dane merged 2 commits into
mainfrom
claude/automated-email-onboarding-1360ce

Conversation

@tyler-dane

Copy link
Copy Markdown
Contributor

Summary

  • Removes the 45-second-delayed "opt into email updates" modal, the command-palette entry, both /api/user/email-updates routes, packages/backend/src/email/, the core email types + subscriber mapper, EMAILER_SECRET, and the KIT_API_SECRET branch in the deploy workflow — no config noise left for self-hosters.
  • The email: key in compass.config.ts is kept as a tolerated, ignored placeholder (z.unknown().optional()) so existing self-hosted compass.yaml files with an email: block stay valid on upgrade.
  • Adds a one-line consent notice to the signup form ("Signing up also gets you occasional product emails. Unsubscribe anytime.") in place of the removed modal.
  • Kit's own unsubscribe footer remains the mechanism; the app no longer talks to Kit at all. New signups are picked up by an hourly workflow in compass-calendar-infra (see KeepSoftwareSimple/compass-calendar-infra#81), which should merge and run successfully before this PR merges so no signup window goes unsynced.

Test plan

  • bun run type-check passes
  • bun run test:core (543/543), bun run test:backend (295/295) pass
  • bun run test:web (2165/2165; the 1 remaining failure is a pre-existing DayCalendarGrid flake confirmed present on main too, unrelated to this change)
  • bun run lint passes
  • Grep sweep confirms no leftover emailer/email-updates/ReleaseNotesPrompt/KIT_API_SECRET/Kit references
  • Confirm the infra-repo sync job is verified end-to-end before merging this PR

🤖 Generated with Claude Code

tyler-dane and others added 2 commits August 11, 2026 17:38
The 45-second-delayed subscribe modal was hard to time well and added
config surface (EMAILER_SECRET, email: in compass.yaml, a Kit service,
two API routes) that no self-hoster ever needs. New signups are now
added to Kit by a scheduled job in compass-calendar-infra instead, so
the app itself no longer knows the list exists. A tolerant `email:`
schema entry keeps existing self-hosted compass.yaml files valid on
upgrade. A one-line consent notice replaces the modal on the signup
form.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Both were only ever used by the Kit email code removed in the prior
commit; knip caught them as dead exports.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@tyler-dane
tyler-dane merged commit 759405f into main Aug 11, 2026
17 of 20 checks passed
@tyler-dane
tyler-dane deleted the claude/automated-email-onboarding-1360ce branch August 11, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant