Skip to content

fix(identity): complete email setup from every account entry - #612

Merged
harlan-zw merged 1 commit into
mainfrom
fix/signup-journey
Oct 10, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
fix/signup-journey

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

🔗 Linked issue

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

New accounts can like Skills or authorize the CLI without choosing emails. The like then promises weekly delivery without consent, and the dashboard offers no setup action. Saving dashboard email choices can also leave the account excluded from the monthly digest.

Offer optional email setup and save email choices with the first completion date in one database update. Preserve saved opt-outs when onboarding is revisited, and confirm saved choices without promising a send. Existing accounts keep their consent and completion date.

Email choices finish account setup across the browser, identity API, and digest eligibility

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

@harlan-github-agent harlan-github-agent Bot added harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 10, 2026
@harlan-github-agent

harlan-github-agent Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-10-10 09:59 UTC.

GitHub merged this pull request.

  • Logged (20/100): The pull request's sole screenshot evidence is unavailable, leaving its visual claims about the email setup flow undocumented. View code Optional follow-up: Re-attach the image (or replace with a working user-attachment URL) so reviewers can verify the finish-setup flow across browser, identity API, and digest eligibility.
    • Ask an agent to verify and fix this finding
  • Logged (45/100): Accounts that opted into the digest from /me before this PR stay excluded from monthly delivery because existing NULL onboarded_at rows are never repaired. View code Optional follow-up: Ship a backfill migration stamping onboarded_at (e.g. from last_login_at or created_at) for rows with email_opt_in = 1 AND onboarded_at IS NULL, or surface them to the digest loader another way.
    • Ask an agent to verify and fix this finding
  • Logged (30/100): Revisited onboarding shows opt-in defaults for a narrow class of pre-PR explicit opt-outs that stored no address, misrepresenting their saved consent. View code Optional follow-up: Treat saved email_opt_in = 0 or weekly opt-out as recorded choices too, e.g. include !!me.email_opt_in === false-with-history or a stored preference marker in hasEmailChoices.
    • Ask an agent to verify and fix this finding

0ac0063d-c616-4302-b057-9a6161e43179

Selected findings run after merge and open separate pull requests.

@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 10, 2026
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

🤖 Harlan Agent Kit Agent browser checks for head 1bc487cc4ee23b3fffaad42918332b4e3ed2b3e3.

A local account with a liked Skill and unfinished setup can resume email choices from the dashboard. Finishing with both emails off keeps both off when onboarding is revisited. Saving only the monthly digest from dashboard settings turns it on and refreshes browser completion. A failed save shows an error, stays on the form, and succeeds after retry.

The account page has no horizontal overflow at 375, 768, and 1280 pixels. The production account inspection was read-only. No production email was sent.

Before, mobile After, mobile
Dashboard before setup action Dashboard with optional email setup

Desktop dashboard with optional email setup

@harlan-github-agent harlan-github-agent Bot added harlan-agent-ready The automated Review passed every gate on this head commit. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 10, 2026

@harlan-github-agent harlan-github-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Harlan Agent Kit posted this automated review. AI open source policy.

Automated Review: READY.

Read the Review results

@harlan-zw

Copy link
Copy Markdown
Collaborator Author

🤖 Harlan Agent Kit Agent follow-up on the logged findings for head 1bc487cc4ee23b3fffaad42918332b4e3ed2b3e3.

Read-only production queries on 10 October found zero rows with email_opt_in = 1 AND onboarded_at IS NULL. They also found zero rows with weekly_opt_out = 1 AND onboarded_at IS NULL AND digest_email IS NULL. The two proposed legacy backfills have no affected production accounts.

The image in the description is the architecture diagram. Browser screenshots are in the Agent evidence comment.

@harlan-zw
harlan-zw merged commit e4faf76 into main Oct 10, 2026
8 checks passed
@harlan-github-agent harlan-github-agent Bot removed the harlan-agent-ready The automated Review passed every gate on this head commit. label Oct 10, 2026
@harlan-zw
harlan-zw deleted the fix/signup-journey branch October 10, 2026 10:05
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