Because:
- We want to improve the UX for saving recovery keys and backup verification codes (2FA backup codes)
This Commit:
- Adds a parameter to GetDataTrio called contentType to indicate the content displayed.
- Applies the this contentType parameter to file download names.
- Applies the this contentType parameter to the page title of printed documents.
- Updates the DataBlock component with a contentType parameter than can be passed through to GetDataTrio.
- Uses the 'Firefox recovery key' contentType in PageRecoveryKeyAdd's DataBlock component.
- Uses the 'Firefox backup verification codes' contentType in PageTwoStepAuthentication and Page2faReplaceRecoveryCode components.
Because:
- We want to improve the UX for saving recovery keys and backup verification codes (2FA backup codes)
This Commit:
- Adds a parameter to GetDataTrio called contentType to indicate the content displayed.
- Applies the this contentType parameter to file download names.
- Applies the this contentType parameter to the page title of printed documents.
- Updates the DataBlock component with a contentType parameter than can be passed through to GetDataTrio.
- Uses the 'Firefox recovery key' contentType in PageRecoveryKeyAdd's DataBlock component.
- Uses the 'Firefox backup verification codes' contentType in PageTwoStepAuthentication and Page2faReplaceRecoveryCode components.
fix(fxa-settings): swap in 'confirm' for 'verify'
fix(fxa-auth-server): update 'verify' to 'confirm'
fix(fxa-support-panel): update 'verify' to 'confirm' in copy
fix(fxa-content-server): update 'verify' to 'confirm'
fix(fxa-settings) append string version to translation id for fluent
fix(fxa-settings): fix failing test (also failing on main)
fix(fxa-auth-server): update tests
Update packages/fxa-auth-server/lib/senders/emails/templates/verifyPrimary/en.ftl
Co-authored-by: Bryan Olsson <bolsson@mozilla.com>
chore(fxa-auth-server): add tests and errors to string id util, update impacted tests
Because:
* We want to ensure we are standards-compliant with the web and a11y
* An id is an element's unique identifier; it should not be duplicated
This commit:
* Removes the id attribute and adds an additional class
* Updates tests to target the class
Closes#12916
Because:
- We want to configure where users can be redirected to.
This Commit:
- Introduces config that controls valid hosts that can be redirected to.
- Adds convict format for allowlists
- Adds functional tests to check redirects
Because:
- A smoke test was failing on production
- Some extra tooltip text was added that interfered with the test.
This commit:
- Relaxes the test a bit and just checks that the term 'Add-ons' is present in the connected services section.
Because:
- We found an edge case where the unblock code was consistently considered invalid
This Commit:
- Fixes occasional race condition in consume unblock code stored procedure.
- Fixes a small bug in the test framework where the most recently emailed unblock code wasn't being used.
- Fixes 'unblock code' remote test. Check for error should be directly after call second call to db.consumeUnblockCode.
## Because
- We want to reflect coupon info on all invoice emails
## This commit:
- Adds an email template and logic to send out subsequent invoice emails with coupon info
- Updates first invoice to use use "discount" instead of "one time discount"
- Updates tests for first invoice and subsequent invoice emails
## Issue that this pull request solves
Closes: #11389
Because:
* Our new MJML emails are being pushed to prod and we no longer need the MJML features flags or old templates. While working through these we also realized `verifySecondary` is never sent, and `verifySecondaryCode` is always sent instead.
This commit:
* Removes MJML feature flags
* Combs through `emails.js` and adds all missing tests to `mjml-emails.ts`, deletes `emails.js`, renames `mjml-emails.ts` to `emails.ts`
* Removes verifySecondary template and most logic around it, preferring verifySecondaryCode
* Bumps all email template versions up by 1
* Removes all email templates, but leaves the templates dir and templates/index.js renderer file since SMS still needs it for now
fixes#10032
* bug(auth): destroying attached client would fail, becuase sessionId could be a buffer.
Because:
* A test started failing that was destroying devices
This commit:
* Coerces device.sessionTokenId into a hex string if it is a buffer
* Coerces device.refreshTokenId into a hex string if it is a buffer
* Change passwords would fail becuase account info (like email and uid) would be retrieved from firefox which was still signed into the account set by the test 'signin to sync and disconnect'. This would persist into the following test(s) and could result in failure.
* fix(test): hack around a weird playwright quirk
* Fix potential race condition
Co-authored-by: Danny Coates <dannycoates@gmail.com>
Because:
* When generating new recovery codes, there was no confirmation step, which might make it easy for a user to overlook the fact they should download / record their recovery codes.
This commit:
* Introduces the same dialog, which existed in the initial 2FA flow, that prompted a user for at least one recovery code as a way to validate users had recorded them.
* Introduces back end support for creating and updating recovery codes as a two step process.
* Shifts recovery code generation to cient, relocating lib/random.ts.
* Adds validation for recovery codes being updated
* Exposes recovery code length / count settings to client
* Add section about running playwrite tests to readme
Closes#9530
* feat(cli): add 'yarn delete services' command
sometimes you may want to leave all your DBs running but completely start over with fresh services. The pm2 restart command doesn't fully reset the environment and sometimes that's what you want. Delete lets us remove the service from pm2 so we can start it fresh.
* chore(ci): slow down pm2 startup
I've noticed ci failures where the services don't even get started up completely happening more frequently. During the brief time that circleci showed resource graphs the pm2 startup pegged both cpu and memory. If we wait for the services that have a lot of building at startup to finish before starting the next service maybe we'll have better stability.
* chore(tests): remove support-panel from functional test startup