Skip to content

feat: cancellation feedback funnel with existing Telegram alerts - #93

Closed
mutonby wants to merge 1 commit into
mainfrom
feat/cancellation-feedback
Closed

mutonby wants to merge 1 commit into
mainfrom
feat/cancellation-feedback

Conversation

@mutonby

@mutonby mutonby commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Optional reason, private comment and rating before Stripe cancellation; equally visible skip.
  • Authenticated server-side ownership, durable feedback intent records and account-erasure support.
  • Forward submitted feedback via existing Telegram config after responding, with bounded plain text and heuristic PII redaction.
  • Form discloses Telegram sharing; Stripe still confirms cancellation.

Verification

  • 71 targeted Python tests passed (one existing Starlette/httpx deprecation warning).
  • Dashboard build and component ESLint passed.
  • Browser exercised opening, Escape/focus restoration, submit and skip with intercepted mock API, no live cancellation.
  • Independent read-only review found no clear technical blockers.

Rollout / limitations

  • Not deployed. PostgreSQL bootstrap creates the new table; production DB and actual Stripe test-mode portal handoff not exercised.
  • Telegram delivery is best-effort: no durable retry queue or deduplication. No live Telegram test sent.
  • DB persistence is awaited; a slow DB can delay portal response until frontend fallback.
  • Redaction is heuristic, not anonymization; account erasure does not retract Telegram messages. Admin-chat retention/access must be managed.
  • Build warns about missing local OpenPanel env, stale Browserslist and large chunks.
    See docs/cancellation-feedback.md.

@mutonby mutonby closed this Sep 27, 2026
@mutonby
mutonby deleted the feat/cancellation-feedback branch September 27, 2026 09:47
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