What's Changed
- bug(test-reports) Give accounts-rate-limit a unique jest output direc… by @nshirley in #18904
- task(settings): Optimize sentry bundle and add webpack analyzer by @dschom in #18906
- chore(perf): load LegalWithMarkdown lazily by @chenba in #18908
- fix(auth): Correctly store MetricsContext in third party auth component by @vbudhram in #18911
- feat(webchannel): Add support for SYNC_PREFERENCES command by @vpomerleau in #18915
- chore(l10n): Add group comment end by @bcolsson in #18916
- fix(payments): clear previous access token on signin by @StaberindeZA in #18907
- task(settings): Disable fetching of nimbus-experiments by @dschom in #18903
- test(function): add back skipped syncV3 test and fix flaky test by @nshirley in #18919
- bug(session): Ensure that the session matches account on destroy by @chenba in #18922
- fix(settings): make tooltip text start-aligned instead of centered by @MagentaManifold in #18923
- task(content-server): remove intern by @toufali in #18905
- task: audit yarn resolutions – tap/typescript by @toufali in #18926
- polish(payments-next): remove unused code, clean up linting rules by @david1alvarez in #18879
- fix(payments-next):Truncated price in upgrade page by @elizabeth-ilina in #18918
- feat(react): navigate to RPs without adding to browser history by @StaberindeZA in #18909
- fix(payments-next): Add localization to page metadata by @elizabeth-ilina in #18910
- fix(payments-ui): Remove coupon from URL params by @xlisachan in #18930
- feat(2fa): Update design of DataBlock and GetDataTrio components by @MagentaManifold in #18912
- task: audit yarn resolutions – moment by @toufali in #18927
- fix(payments): Update error message for customers with active IAP subscription by @xlisachan in #18928
- feat(settings): Enable changing recovery phone by @vpomerleau in #18913
- feat(payments-next): Improve payments-next logging by @david1alvarez in #18869
- task(auth,graphql): Configure separate redis instance for rate limiting by @dschom in #18938
- feat(oauth): redirect on prompt=none and return_on_error=false by @chenba in #18940
- feat(recovery): Add reset password recovery phone views and functionality by @vbudhram in #18929
- fix(payments-next): SP3 invalid coupon code not localized by @elizabeth-ilina in #18932
- feat(metrics): Add more glean metrics for signup code view by @vbudhram in #18944
- fix(perf): change css link tag's initial rel attr to preload by @chenba in #18933
- feat(payments-next): improve getCart response time by @david1alvarez in #18942
- feat(payments-next): Enable no-charge payments with stripe by @david1alvarez in #18874
- task(settings): Improve webpack chunking by @dschom in #18934
- task(settings): Lazy load pages by @dschom in #18936
- Revert "fix(perf): change css link tag's initial rel attr to preload" by @chenba in #18955
- task: audit yarn resolutions – browserid-crypto by @toufali in #18949
- task(settings): Target sentry tracing to capture metrics for index by @dschom in #18937
- task: audit yarn resolutions – http-proxy by @toufali in #18950
- task: audit yarn resolutions – terser by @toufali in #18951
- feat(settings): new FlowSetup2faBackupCodeDownload component by @MagentaManifold in #18941
- fix(payments-next): Component appears larger during loading state in Chrome by @xlisachan in #18939
- fix(payments): Customers with saved card and no active subs should see PayPal privacy policy link on Checkout by @xlisachan in #18948
- fix(payments-paypal): Customer cannot purchase another product with their saved PayPal account by @xlisachan in #18956
- fix(next): resolve CSP and console errors by @StaberindeZA in #18920
- feat(customs): Use checkAuthenticated in
/session/verify_code
route by @vbudhram in #18965 - task: Resolve vulnerability – multer by @toufali in #18958
- task: audit yarn resolutions – @svgr/webpack by @toufali in #18961
- task: audit yarn resolutions – node-forge by @toufali in #18962
- task: audit yarn resolutions – fbjs/isomorphic-fetch by @toufali in #18963
- fix(payments-next): resolve linting error by @david1alvarez in #18968
- chore: update nx to 21 by @julianpoy in #18946
- New FlowSetup2faApp component by @vpomerleau in #18921
- fix(next): undefined tax location results in error by @StaberindeZA in #18967
- task(auth,gql): Configure default limiting rules by @dschom in #18952
- bug(auth): The rule for verifySessionCode should have been on uid by @dschom in #18971
- polish(auth): Remove stray console.log by @dschom in #18974
- bug(auth): Fix broken functional tests due to rate-limiting by @dschom in #18975
- fix(metrics): Set flowId when user verifies totp session by @vbudhram in #18973
- feat(next): add auth statsd and error page by @StaberindeZA in #18966
- feat(settings): new FlowSetup2faBackupCodeConfirm component by @MagentaManifold in #18964
- fix(payments-next):Applied coupon code before sign-in does not remain on checkout page after signing in by @elizabeth-ilina in #18943
- bug(auth): unblockEmail rule was missing by @dschom in #18984
- fix(prompt): Support prompt=none with 2FA, don't send two authorization reqs by @vbudhram in #18985
- bug(auth, graphql): Localized retry message had incorrect time. by @dschom in #18979
- SVCSE-2374 Removing references to deprecated CDN by @steveprokopienko in #18914
- task(auth): Use customs.checkAuthenticated where possible by @dschom in #18977
- fix(auth): Send email when changing recovery phone by @vpomerleau in #18987
- Fix error on signin with multiple accounts by @dschom in #18988
- Train 312 uplift main by @vbudhram in #18990
New Contributors
- @steveprokopienko made their first contribution in #18914
Full Changelog: v1.311.0...v1.312.2