Skip to content

feat(web): enable self-service account deletion - #5476

Merged
eshurakov merged 3 commits into
mainfrom
eshurakov/unbowed-thicket
Aug 26, 2026
Merged

feat(web): enable self-service account deletion#5476
eshurakov merged 3 commits into
mainfrom
eshurakov/unbowed-thicket

Conversation

@eshurakov

@eshurakov eshurakov commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a profile Danger Zone flow with email challenge confirmation and sign-out.
  • Prevent self-service deletion for organization-managed accounts using the primary eligibility flag.
  • Add a completion email queue step with durable checkpoints, ambiguity handling, pre-deployment compatibility, and admin visibility.
  • Add the transactional email template, migration, and focused regression coverage.
Screenshot 2026-08-25 at 14 58 16 Screenshot 2026-08-25 at 14 58 26 Screenshot 2026-08-25 at 15 08 02

Verification

  • Local account-deletion flow tested; screenshot to follow.
  • pnpm --filter web exec jest --watchman=false --runInBand --runTestsByPath src/app/admin/deletion-queue/deletion-queue-format.test.ts src/components/profile/DeleteAccountDialog.test.ts — 2 suites, 28 tests passed
  • Changed-file Oxlint — passed
  • Changed-file Oxfmt — passed

@kilo-code-bot

kilo-code-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

Incremental review after rebase found no new correctness, security, or runtime issues; catalog completeness validation is unchanged, and the two tree-level diffs are main-branch rebase artifacts.

Files Reviewed (2 files)
  • apps/web/src/app/(app)/profile/page.tsx
  • packages/db/src/schema-types.ts
Previous Review Summaries (3 snapshots, latest commit 8ce5c77)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 8ce5c77)

Status: No Issues Found | Recommendation: Merge

Executive Summary

Incremental review of the catalog-completeness fix found no correctness, security, or runtime issues; missing required deletion steps now fail validation in both completion and task selection, with only the documented v2 CompletionEmail exception.

Files Reviewed (4 files)
  • apps/web/src/lib/user/deletion-queue/deletion-catalog.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-catalog.ts
  • apps/web/src/lib/user/deletion-queue/deletion-completion.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-task-selector.test.ts

Previous review (commit a97963e)

Status: No Issues Found | Recommendation: Merge

Executive Summary

Incremental review of the notify-channel admin UI and delete-account restyle found no correctness, security, or runtime issues.

Files Reviewed (4 files)
  • apps/web/src/app/admin/deletion-queue/[id]/DeletionQueueDetailContent.tsx
  • apps/web/src/app/admin/deletion-queue/deletion-queue-format.test.ts
  • apps/web/src/app/admin/deletion-queue/deletion-queue-format.ts
  • apps/web/src/components/profile/DeleteAccountDialog.tsx

Previous review (commit 0d798d5)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (30 files)
  • apps/web/src/app/(app)/profile/page.tsx
  • apps/web/src/app/admin/deletion-queue/[id]/DeletionQueueDetailContent.tsx
  • apps/web/src/app/admin/deletion-queue/deletion-queue-format.ts
  • apps/web/src/components/profile/DeleteAccountDialog.test.ts
  • apps/web/src/components/profile/DeleteAccountDialog.tsx
  • apps/web/src/emails/AGENTS.md
  • apps/web/src/emails/accountDeletionCompleted.html
  • apps/web/src/lib/email.test.ts
  • apps/web/src/lib/email.ts
  • apps/web/src/lib/user/deletion-queue/deletion-catalog.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-catalog.ts
  • apps/web/src/lib/user/deletion-queue/deletion-completion.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-completion.ts
  • apps/web/src/lib/user/deletion-queue/deletion-constants.ts
  • apps/web/src/lib/user/deletion-queue/deletion-hints.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-hints.ts
  • apps/web/src/lib/user/deletion-queue/deletion-task-selector.test.ts
  • apps/web/src/lib/user/deletion-queue/deletion-task-selector.ts
  • apps/web/src/lib/user/deletion-queue/handlers/completion-email.test.ts
  • apps/web/src/lib/user/deletion-queue/handlers/completion-email.ts
  • apps/web/src/lib/user/deletion-queue/handlers/index.ts
  • apps/web/src/routers/admin/email-testing-router.ts
  • apps/web/src/routers/admin/user-deletion-queue-router.ts
  • apps/web/src/routers/user-router.test.ts
  • apps/web/src/routers/user-router.ts
  • packages/db/src/migrations/0224_outgoing_mentor.sql
  • packages/db/src/migrations/meta/0224_snapshot.json
  • packages/db/src/migrations/meta/_journal.json
  • packages/db/src/schema-types.ts
  • packages/db/src/schema.test.ts

Reviewed by grok-4.6 · Input: 198.4K · Output: 10.1K · Cached: 270.6K

Review guidance: REVIEW.md from base branch main

@eshurakov
eshurakov requested a review from pandemicsyn August 25, 2026 13:23
Comment thread apps/web/src/lib/user/deletion-queue/deletion-completion.ts
Use an outline destructive trigger on the profile page. Infer the
customer notification channel in the deletion queue so Pylon reply
and completion email are never both presented as active.
@eshurakov
eshurakov force-pushed the eshurakov/unbowed-thicket branch from 8ce5c77 to aee5ead Compare August 26, 2026 07:22
@eshurakov
eshurakov merged commit ed8d376 into main Aug 26, 2026
50 checks passed
@eshurakov
eshurakov deleted the eshurakov/unbowed-thicket branch August 26, 2026 08:12
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.

2 participants