Because:
- The `payments-next` builds are taking very long and using many system
resources.
- Under normal operation, the `payments-next` service in dev mode is
using a lot of memory and at times running into its 7gb memory limit,
causing a service restart.
This commit:
- Adds Next.js bundle analyzer to `payments-next`
- Adds additional packages to serverComponentsExternalPackages.
- By default Nextjs automatically bundles dependencies used in Server
Components and Route Handlers. As a result, all dependencies used in
the NestApp were being bundled by Next.js, which bloated the Next.js
nodejs bundle.
- All dependencies used in the NestApp, should not be included in the
Next.js bundle, and should therefore be added to
`serverComponentsExternalPackages` going forward.
- Dependencies that are potentially used by Next.js as part of server
side rendering or hydration of pages should still be included in the
Next.js bundle, and should not be added to
`serverComponentsExternalPackages`.
Closes #FXA-10712
Because:
- On the checkout page, after populating the email clicking continue
should navigate the user to the FxA signin page for signin.
- On the checkout page, when clicking Google/Apple button, it should
start the third party auth via FxA.
- Completion of either signin option should navigate the user back to
the checkout page in a signed in state.
This commit:
- Updated Auth.js provider to support email, google and apple login
- Customers are redirected to the '/new' page on successful login, which
creates a new cart with the customers uid added.
- Updates Payments Next auth config to a non-public client.
Closes #FXA-10548
Because:
- Need to be able to enable or disable glean recording of events.
This commit:
- Adds enabled value to payments metrics glean config
- Updates payments metrics glean manager to respect enabled config value
Closes #FXA-10564
Because:
- Update emitter and glean records with actual payment provider
- Add paypal payment provider logic to success page
This commit:
- Updates emitter calls to include payment provider
- Updates emitter event for a failure to allow for undefined payment
provider
- Removes ConfirmationDetail component from success page and moves logic
into page JSX.
- Adds card and paypal images
Closes #FXA-10503 FXA-10608
Because:
- Update Stripe checkout to use confirmation token instead of payment
method while creating subscription and confirming the payment intent.
This commit:
- Updates the frontend to create a ConfirmationToken instead of payment
method
- Updates Stripe Checkout to use ConfirmationToken
- Updates Stripe Checkout to confirm payment intent
Closes #FXA-7581
Because:
- Display a loading state to customers while navigating between pages.
This commit:
- Adds a `loading.tsx` to the root routes of the Next app
Closes #FXA-7574
Because:
- Use the payments ui actions TS alias for all actions imports
This commit:
- Updates imports to make use of the payments ui actions TS alias
Closes #
Because:
- payments-next should be be recording all P1 metrics.
This commit:
- Renames PaymentsGleanService to PaymentsEmitterService to more
accurately indicate that this service will be used to handle all
Emitter events.
- Restructure EmitterService to reuse common functionality.
- Restructure EmitterService to reuse common functionality.
- Renames recordGleanEvents to recordEmitterEvents to more accurately
indicate that this action should be used to emit Emittery events on
the server.
- Emit CheckoutView/Engage/Submit/Success/Error events from pages and
components where necessary.
- Record the appropriate Glean event for each of the Emittery events.
Closes #FXA-10088
Because:
- We want to determine currency based on the tax address provided by the
customer
This commit:
- Automatically determines the tax address and currency based on their
IP address
- Allows user to update their tax address, thereby updating their
currency
Closes FXA-7584
Because:
* We are updating the design of the AccountRecoveryConfirmKey page
* We want to show the storage hint that users have had the option of saving
This commit:
* Update AccountRecoveryConfirmKey page content, l10n, stories, test
Closes #FXA-7894
Because:
* We want to encourage Sync signin users to create an account recovery key
This commit:
* Moves and refactors part of FlowRecoveryKeyHint into new component for sharing
* Sets ups the create recovery key and hint handlers in container component, call where needed
* Queries if recovery key exists after signin if sync, stores PW-related data into sensitiveDataClient
* Navigates signing in desktop Sync flow users without a recovery key to this new flow before taking them to CAD, if the feature flag is on
closes FXA-10079
Because:
- Record SubPlat P1 metric view event using glean
This commit:
- Adds payments-metrics library
- Adds PaymentsGleanManager to format events data and CMS data into the
required format for Glean events recording.
- Adds PaymentsGleanService to handle metrics events emitted by Next.js
- Adds the manager and service to the NestApp
- Adds new config values to payments-next for Glean reporting
- Emit view event from Checkout start page
Closes #FXA-10087
Because:
- Importing package.json in sentry config files resulted in build
warning 'Should not import the named export'
This commit:
- Add package version as env var added to js bundle by nextjs
Closes #
Because:
- Be able to use Sentry in Next.js on both the client and the server
This commit:
- Add Sentry to payments-next using the installation wizard
Closes #FXA-9998
Because:
- Define glean events and metrics for subplat backend events
This commit:
- Adds metrics and events to subplat backend metrics yaml
Closes #FXA-10086
Because:
- Initialize PayPal SDK and add button to checkout page
This commit:
- Adds PayPal SDK and initializes provider
- Adds PayPal button and only display when PayPal is selected in Payment
Element
- Updates CSP for PayPal URLs
- Adds config options
Closes #FXA-7585
Because:
- After subscribe now button is pressed or paypal payment is completed
the customer should be navigated to a processing page.
This commit:
- Adds the processing page.
- Adds a Loading Spinner for payments-next
Closes #FXA-7577
Because:
- Payments Next errors on startup do not cause a stack startup error,
and instead fails silently.
This commit:
- Adds a check to the heartbeat route to check that Payments Next starts
up correctly
Closes #FXA-10113
Because:
- Some temporary band aids were added to support out of date Contentful
data that could no longer be changed, due to the Contentful instance
being changed to read-only.
This commit:
- Removes temporary band aids now that support for Strapi has been added
Closes #FXA-9797