34544 Commits

Author SHA1 Message Date
Nicholas Shirley
e049922dd6 chore(settings): Stop double capturing error in sentry for oauth
integration

Because:
 - We explicitly capture an exception for oauth-web-integrations and
   send it to Sentry, then throw for the app/index to redner correct
component
 - And we capture and send the error to Sentry again

This Commit:
 - Removes the double Sentry logging
 - Adds some more details to captured exception to track down cause of
   error

Closes: FXA-12088
2025-11-13 14:40:09 -07:00
Wil Clouser
43130f46d2 Refactor: Default nimbus.preview to false 2025-11-13 13:03:05 -08:00
Nicholas Shirley
9c81e557cc bug(settings): Fix issue with connected services refresh
Because:
 - The refresh button for connected services doesn't re-enabled when the
   request finishes

This commit:
 - Adds a useState to track the refresh status for connected-services,
   enabling/disabling the button as necessary.
 - Adds tests for the new functionality

Closes: FXA-3454
2025-11-12 15:23:44 -07:00
Lauren Zugai
2933661156 Merge pull request #19652 from mozilla/FXA-12647
fix(login): Send session verification email at account/login
2025-11-12 15:21:01 -06:00
Nicholas Shirley
9ba7a350ee chore(auth-server): Change old customs to noop to prevent bug
Because:
 - We have some routes that still call to the old customs server
 - And an edge case where a route will error when trying to access the
   Redis cache

This Commit:
 - Updates the old customs check to noop to keep scope and changes
   limited but also supress error

Closes: FXA-11299
2025-11-12 13:41:20 -07:00
Lauren Zugai
ef65975923 fix(login): Send session verification email at account/login
Because:
* We were handling sending this in the front-end, and since VPN uses our account/login endpoint, they were not receiving the session verified email

This commit:
* Removes the front-end checks and adjusts email sending logic to not send the session verification email unless the RP is VPN or is requesting keys

fixes FXA-12647
2025-11-12 14:17:37 -06:00
Lisa Chan
09d46cc327 Merge pull request #19609 from mozilla/PAY-3350
feat(payments): Add warning message when payment method is expired
2025-11-12 14:27:52 -05:00
Lauren Zugai
0b1b6f30b3 Merge pull request #19656 from mozilla/revert-19654-revert-19648-19621
chore(revert): Merge back in "Revert 19648 19621", session refactor
2025-11-12 11:31:41 -06:00
Lauren Zugai
031e1ce4ba chore(revert): Merge back in "Revert 19648 19621", session refactor
This commit:
* Reverts a previous reversion we did for 'refactor(sessions): Separate 'verified' into 'emailVerified' + 'sessionVerified', other clean up' as well as a follow up 'fix(api): Return 'verified' from 'account/login''
* Introduces clarity by separating 'verified' into 'sessionVerified' and 'emailVerified' across relevant endpoints
* Removes/reduces checks of verificationTokenId and/or tokenVerified to just tokenVerified, as these both check verificationTokenId and was unclear
* Fixes a case where auth-server is returning 'verified: true' for a non-2FA non-Sync unverified session, and removes corresponding front-end bandaid fixes
* Removes an env var previously added for testing that we don't need, updates docs for another covering that case

Because:
* We had an issue with VPN not receiving a login email despite verified: false, because we are skipping non-2FA non-Sync sign-in verifications (this case) for RPs, but since VPN manages their own UI they cannot skip this page when verified: false, so we reverted it temporarily
* We have had confusion around unverified sessions and the 'verified' flag
* We've introduced a band-aid fix in the front-end

originally closed FXA-12454 / FXA-12646
2025-11-12 11:05:52 -06:00
Lauren Zugai
ec582e537c Merge pull request #19654 from mozilla/revert-19648-19621
Revert 19648 19621
2025-11-12 09:39:10 -06:00
Lisa Chan
35800f5422 feat(payments): Add warning message when payment method is expired
This pull request
- Updates getCardIcon util to return width and height of icon
- Updates type in DefaultPaymentMethod from PaymentProvidersType to SubPlatPaymentMethodType
- Refactors Payment method section in SubMan page
- Displays error if expired payment method or account issue

Closes PSY-3350
2025-11-12 09:53:47 -05:00
Valerie Pomerleau
7241ef23d6 Revert "refactor(sessions): Separate 'verified' into 'emailVerified' + 'sessionVerified', other clean up"
This reverts commit 2253b48129.
2025-11-10 17:08:57 -08:00
Valerie Pomerleau
9979b01bac Revert "fix(api): Return 'verified' from 'account/login'"
This reverts commit fb40e1049b.
2025-11-10 16:58:24 -08:00
Valerie Pomerleau
d3e97393bf Merge pull request #19651 from mozilla/polish-2fa-success-banner-styling
Polish(settings): Center text in 2fa setup/change success alert bar
2025-11-10 15:45:46 -08:00
Nick Shirley
86da9d20f5 Merge pull request #19641 from mozilla/chore/functional-test-account-destroy-polish
chore(functional-tests): Update account destroy to make it more robust
2025-11-10 16:00:26 -07:00
Valerie Pomerleau
e2657350f2 Merge pull request #19649 from mozilla/passkey-support-probe
feat(glean): Add glean probe for passkey support
2025-11-10 14:14:38 -08:00
Valerie Pomerleau
7dbdf7658c tweak 2fa success alert bar styling 2025-11-10 09:51:09 -08:00
Nicholas Shirley
8a842446cd chore(functional-tests): Split out account destroy to make it more
robust

Because:
 - We've seen tests have issues during the cleanup

This Commit:
 - Splits out the large destroyAllAccounts call to make it more
   managable
 - And, defaults to always fetching a new session token instead of
   relying on the token in "cache"
2025-11-07 17:55:11 -07:00
Valerie Pomerleau
5f357100cd feat(glean): Add glean probe for passkey support
Because:

* We want to know if passkey support is sufficient to justify implementation

This commit:

* Adds a glean event to sample capability support for passkey/WebAuthn, including PRF (Pseudo-Random Function) extension support and minimal device data.
* Adds a helper function to collect the data and emit the event.

Closes #FXA-12640
2025-11-07 15:24:59 -08:00
Lauren Zugai
7fd4d25670 Merge pull request #19647 from mozilla/FXA-12540
feat(login): Allow third party auth for OAuthNative non-sync services
2025-11-07 16:41:47 -06:00
Lauren Zugai
b977f4fed0 fix(tests): Remove incorrect tests 2025-11-07 16:20:18 -06:00
Lauren Zugai
e3cccfd527 feat(login): Allow third party auth for OAuthNative non-sync services
This commit:
* Renders third party auth buttons for service=aimode and service=relay when the capability is set
* Renames 'useSyncEngines' to 'useFxAStatus' and passes back the capability status
* Includes navigation handling to support these flows including new or existing account third party auth sign-in with or without 2FA
* Sends empty oauth data to the browser to signify end of the login flow
* Adjusts can_link_account web channel sending
* Adjusts account/status with session token endpoint to return 'hasPassword'

Because:
* We want to allow third party auth sign-ins and sign-ups for service=aimode and service=relay OAuthNative integrations

closes FXA-12540
closes FXA-12377
2025-11-07 15:50:22 -06:00
Lauren Zugai
d6e32cab8a Merge pull request #19648 from mozilla/add-verified-back-to-login
fix(api): Return 'verified' from 'account/login'
2025-11-07 15:31:23 -06:00
Lauren Zugai
fb40e1049b fix(api): Return 'verified' from 'account/login'
Because:
* We split this into two values in another PR, but at least one other team relies on this value

This commit:
* Adds the field back and marks it as deprecated
2025-11-07 14:18:42 -06:00
Amri Toufali
eb4e18e690 Merge pull request #19629 from mozilla/dependabot/npm_and_yarn/tar-fs-2.1.4
chore(deps): bump tar-fs from 2.1.3 to 2.1.4
2025-11-07 11:00:52 -08:00
Liza Ilina
161729527c Merge pull request #19608 from mozilla/PAY-3359-create-firestore-repository-for-churn-intervention
feat(payments-next): Create firestore repository for ChurnIntervention
2025-11-07 12:35:28 -05:00
elizabeth-ilina
96ecfe9455 feat(payments-next): Create firestore repository for ChurnIntervention
Because:

* We will need to keep track of whether a customer is eligible to redeem a churn coupon when checking if the customer’s redemption count is less than the redemption limit set for the churn content in Strapi.

This commit:

* Creates a repository for ChurnIntervention
* Adds Action to return Churn Intervention data
*(BOTH STILL IPR)

Closes #PAY-3359
2025-11-07 12:06:44 -05:00
Wil Clouser
3294a628bd Merge pull request #19646 from mozilla/clouserw-patch-4
fix: move from channel-id to channel
2025-11-06 16:05:33 -08:00
Wil Clouser
9b14c0e6cc fix: move from channel-id to channel 2025-11-06 16:00:15 -08:00
Wil Clouser
6d9fa83fce Merge pull request #19645 from mozilla/clouserw-patch-4
fix: move slack_bot_token out of env and into action call
2025-11-06 15:57:06 -08:00
Wil Clouser
12e08b8350 fix: move slack_bot_token out of env and into action call 2025-11-06 15:54:52 -08:00
Wil Clouser
a68bef3bac Merge pull request #19644 from mozilla/clouserw-patch-4
fix: add method to Update upload-assets-to-cdn.yml
2025-11-06 15:50:26 -08:00
Wil Clouser
c959a857d4 fix: update to be consistent with new docs 2025-11-06 15:43:55 -08:00
Wil Clouser
092ffd7e08 fix: add method to Update upload-assets-to-cdn.yml 2025-11-06 15:39:55 -08:00
Valerie Pomerleau
c3e8f0f9b5 Merge pull request #19643 from mozilla/FXA-12633
chore(assets): Add image assets for cms
2025-11-06 15:35:02 -08:00
Valerie Pomerleau
26643b26be add jpg versions of product logos with white background for emails 2025-11-06 14:56:06 -08:00
Valerie Pomerleau
fd4c9531b7 chore(assets): Add image assets for cms - Relay
Because:

* New assets are needed for cms

This commit:

* Adds four new svg and one favicon

Closes #FXA-12633
2025-11-06 14:01:00 -08:00
dependabot[bot]
3f000d520a chore(deps): bump on-headers from 1.0.2 to 1.1.0
Bumps [on-headers](https://github.com/jshttp/on-headers) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/jshttp/on-headers/releases)
- [Changelog](https://github.com/jshttp/on-headers/blob/master/HISTORY.md)
- [Commits](https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0)

---
updated-dependencies:
- dependency-name: on-headers
  dependency-version: 1.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 19:19:49 +00:00
dependabot[bot]
73d48320d5 chore(deps): bump @eslint/plugin-kit from 0.3.3 to 0.3.5
Bumps [@eslint/plugin-kit](https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit) from 0.3.3 to 0.3.5.
- [Release notes](https://github.com/eslint/rewrite/releases)
- [Changelog](https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md)
- [Commits](https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.5/packages/plugin-kit)

---
updated-dependencies:
- dependency-name: "@eslint/plugin-kit"
  dependency-version: 0.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 19:18:55 +00:00
dependabot[bot]
420b97311b chore(deps): bump tar-fs from 2.1.3 to 2.1.4
Bumps [tar-fs](https://github.com/mafintosh/tar-fs) from 2.1.3 to 2.1.4.
- [Commits](https://github.com/mafintosh/tar-fs/compare/v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: tar-fs
  dependency-version: 2.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 19:12:49 +00:00
Reino Muhl
48a53c5479 Merge pull request #19616 from mozilla/pay-3250-add-nimbus
feat(next): add experiments to payments-next
2025-11-06 14:06:21 -05:00
Reino Muhl
65693f4d8a Merge pull request #19628 from mozilla/fix-add-paypal-clientid
fix(next): use env var for paypal client id
2025-11-06 11:59:14 -05:00
Reino Muhl
80f37021e8 fix(next): use env var for paypal client id
Because:

- PayPal button used in Subscription Management has the client ID hard
  coded to sb instead of using the client ID set in env vars.

This commit:

- Updates PayPal button used in Subscription Management to initialize
  with env var client ID.

Closes #
2025-11-06 11:35:15 -05:00
Reino Muhl
da61ea678e feat(next): add experiments to payments-next
Because:

- Need to enable experiments in payments-next by adding support for
  nimbus.

This commit:

- Initializes the experiments shared library
- Updates subplat backend glean metrics with nimbus_user_id
- Adds Nimbus client

Closes #PAY-3248
2025-11-06 10:31:03 -05:00
Lauren Zugai
9757527a9e Merge pull request #19621 from mozilla/FXA-12454
refactor(api): Separate 'verified' into 'emailVerified' + 'sessionVerified', other clean up
2025-11-05 14:10:15 -06:00
Dan Schomburg
84f1925b38 Merge pull request #19622 from mozilla/FXA-10763
task(admin-panel): Support account reset operation in admin-panel
2025-11-05 12:01:16 -08:00
dschom
772b9e012b task(admin-panel): Support account reset from admin panel 2025-11-05 11:47:29 -08:00
Lauren Zugai
2253b48129 refactor(sessions): Separate 'verified' into 'emailVerified' + 'sessionVerified', other clean up
Because:
* We have had confusion around unverified sessions and the 'verified' flag
* We've introduced a band-aid fix in the front-end

This commit:
* Introduces clarity by separating 'verified' into 'sessionVerified' and 'emailVerified' across relevant endpoints
* Removes/reduces checks of verificationTokenId and/or tokenVerified to just tokenVerified, as these both check verificationTokenId and was unclear
* Fixes a case where auth-server is returning 'verified: true' for a non-2FA non-Sync unverified session, and removes corresponding front-end bandaid fixes
* Removes an env var previously added for testing that we don't need, updates docs for another covering that case

closes FXA-12454
2025-11-05 13:43:46 -06:00
Dan Schomburg
13e07af471 Merge pull request #19602 from mozilla/FXA-12578
task(libs/accounts): Port email rendering code to libs
2025-11-05 11:27:39 -08:00
Amri Toufali
e2bb0e3b91 Merge pull request #19627 from mozilla/fix-recovery-phone-cleanup
fix(ci): serialize recoveryPhone tests to avoid exceeding registration limit
v1.323.0
2025-11-05 09:05:25 -08:00