#Settings Alternative email validation improvements

Open
#1,729 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
angular, typescript

Research direction

The issue describes alternative email validation keys being replaced on form submissions and resend requests. Start by tracing the account details submission and resend flows, then find where validation keys are generated, stored, and checked. Confirm how key expiry is represented; done means requests within the expiry period resend the existing key, while expired keys can be replaced and users receive a useful error for an old link.

Written by the indexing model from the issue text.

Description

bug P1-urgent

Some users are still having issues getting their "alternative email" to validate, checking at least one report:

  • The email is not validated yet (status in db still 1)
  • The user tried 2 different email links, both contained a key= component that did not match the one in the database, so nothing was validated
  • Reviewing the current logic: every time the account details form is submitted, or the "resend" button is clicked (and the email is not yet validated), we generate and save a new key value, then send an email with that key in it. This can end up with the user having multiple emails to click, only one of which (the most recent) will work.
  • There is no error reporting (aka "that link is too old" or similar)

Suggestion:

  • Setup an expiry time for the key, within that time any form submissions or buttons will not generate a new key, they will just create a new email with the existing key.
Dominant language
TypeScript
Stars
132
Forks
55
Avg merge
6d 17h
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from runbox/runbox7

All issues in runbox/runbox7

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.