#Settings Alternative email validation improvements
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
- Domain
- authentication, backend
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
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
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from runbox/runbox7
-
Names in Sent folderOpen
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Keep messages selected after an operation so a second operation can be performed on the same set.Possibly taken @gtandersen claimed this 10 days ago. Openenhancement
-
#2FA App passwords copy featurePossibly taken @hoanle0126 claimed this 22 days ago. Openenhancement P3-medium
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
-
#Mail Initial index sync prompt hides message action iconsPossibly taken @LubuSeb claimed this 25 days ago. Openbug P1-urgent
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Similar issues
-
[analytics-core] getQueryParams does not decode `+` as space and truncates values containing `=`Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
amplitude/Amplitude-TypeScript#2179 · 1 comment ·
Maintainers usually reply within 2 days
-
ci good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
TMHSDigital/GH-Arcade#111 ·
-
AsnIntegerConverter.toASN coerces strings with +value, rounding integers outside safe-integer rangeOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PeculiarVentures/asn1-schema#189 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100