Because:
- Starting and restarting payments-next takes a long time due to always
building the app first, which isn't necessary during development.
- When changes are made to NestApp or its dependencies, these are not
hot reloaded by Next.js, requiring a full Next.js restart.
This commit:
- Adopt Nx plugin for Next.js which more closely aligns with Next.js
standard dev commands.
- Retained Nx Next.js executors for build, since it more closely fits
into the current FxA build and deploy CI logic.
- Added a watcher to NestApp which calls a NestApp restart api, only
available in development, to restart the NestApp on any changes.
- Adds a function to get the NestApp, instead of a const, thus ensuring,
in dev mode, the latest NestApp is always returned.
Closes #FXA-9706
Because:
- AccountCustomerManager.createAccountCustomer included updateAt as a
parameter even though it wasn't used.
This commit:
- Remove updateAt from createAccountCustomer and update related files.
Closes #
Because:
* We want to incorporate the fxa-crypto-relier library into the Firefox
Accounts codebase and deprecated its webextension functionality.
This commit:
* Adds the fxa-crypto-relier library to the Firefox Accounts codebase.
Closes FXA-9741
Because:
* Populate the customer display name from the Payments Next frontend
* Temporarily provide a way to easily set email on the cart
* Subscription creation on Payments Next was failing due to missing
priceId.
This commit:
* Includes displayName in stripe checkout server action
* Adds temporary input and server action to update cart.email
* Adds the missing priceId to subscription creation
Closes #
Because:
- In a previous PR, a new event type was created, but we should have repurposed the profileDataChange event type
- During the previous deployment it was noted that there are different ways to configure sns, and that a topic arn and/or topic endpoint might not be required
This Commit:
- Relaxes requirements for notifier service.
- Makes snsTopicEndpoint optional
- Makes snsTopicArn optional
- Removes the `metricsChange` event type
- Augments the `profileDataChange` type schema to support, locale, metricsEnabled, totpEnabled, accountDisabled, and accountLocked states.
- Emmits the `profileDataChange` whenever corresponding account data is mutated.
Because:
* We want to clean up our code and make sure our methods are created and updated appropriately.
This commit:
* Is a follow up to https://github.com/mozilla/fxa/pull/16924 comments and Slack messages between the SubPlat SWEs.
* Updates `StripeManager.createPlainCustomer`.
* Updates `CheckoutService.prePaySteps` to add `AccountCustomerManager.createAccountCustomer`.
* Updates all applicable tests.
Because:
* Fluent LocalizationProvider is currently initialized on the client
causing noticable load times for client components.
This commit:
* Initialize ReactLocalization on the server
* Wrap near root layout with LocalizationProvider as suggested by
Nextjs docs.
Closes #
Because:
* We want to validate cart and customer have matching credentials.
This commit:
* Completes the TODO list:
* Validates stripeCustomerId on the cart.
* Revalidates total amount against upcoming invoice.
* Validates customer eligibility for target plan.
* Validates customer address, tax eligibility, and promo code (if applicable).
* Cancels incomplete subscriptions.
* Updates tests where applicable.
Closes FXA-8951
Because:
* We want to remove skeleton placeholders and replace with actual values.
This commit:
* Calls stripeClient.invoicesRetrieveUpcoming and replaces the amount placeholder with the total.
Closes FXA-8896
Because:
* During development some console errors and warnings were introduced
* Improve developer experience and code quality of payments next
This commit:
* Update imports in Payments Next from root project directory
* Resolve browser console errors
* Added missing CSP content items
* Removed Layout image width to remove next/image warning
* Resolved server console error related to nest-typed-config
* Extract CheckoutForm button into PrimaryButton component
* Added Stripe Public API key config variable
* Updated checkout page headings
* Updated Stripe Payment Element to use accordion
* Added ConfigProvider for client components
Closes #FXA-9625
Because:
* We want to create a util function to handle the EligibilityStatus and ensure that the Cart is created with the correct CartEligibilityStatus, CartState and ErrorReasonId (if necessary).
This commit:
* Creates a util function in libs/payments/cart to handle the EligibilityStatus to ensure that the Cart is created with the correct CartEligibilityStatus, CartState and ErrorReasonId (if necessary).
Closes FXA-9537
Because:
* We need to actually check interval_count rather than just interval
This commit:
* Adds a handy util for doing so, and uses it within the stripe manager
Closes FXA-9536
Because:
* Add consent checkbox, reminder error tooltip and payment section with
default disabled state.
This commit:
* Adds a new client component for the consent checkbox and implements
a Radix holdover component for the error tooltip.
* Adds PaymentSection client component.
Closes: #FXA-7806
Because:
* Queries should search for apiIdentifiers that equal input param
This commit:
* Queries using apiIdentifier updated to search for offering with
apiIdentifier that matches the input parameter
Closes #
Because:
* We want to localize client components using the Fluent/react library.
This commit:
* Adds component FluentLocalizationProvider that initializes and wraps
`children` in Fluent `<LocalizationProvider>`.
* Adds a test string to `Checkout` page as a means to test the client
component localization works as expected.
Closes FXA-7827
Because:
* Add the Stripe Payment Element to the checkout page
* Be able to checkout and successfully add a new payment method and
new subscription.
This commit:
* Adds the PaymentElement to the StripeWrapper
* Adds the Subscribe Now button
* Adds the Full Name field
* Updates the NestApp with Firestore and StatsD provider factories
Closes #FXA-8850 and #FXA-7810
Because:
- We were reporting known error response states that come from auth-server and were intended for flow control to Sentry
This Commit:
- Adds an extra check so we do not report these states needlessly.
- Fixes some tests so they adhere to latest sentry types.
Because:
* Stay up to date with latest next-auth/authjs beta releases
This commit:
* Updates to latest beta version
* Removes env vars no longer needed
Closes #FXA-9543
Because:
* Many of the tests did not use NestJS test harness
* Many of the tests had poor structure
* Many of the tests did not use jest.spyOn and were not typesafe in
their mocks
This commit:
* Restructures tests within libs
Closes FXA-9540
Because:
* We want to reduce the dependencies in fxa-jwtool and bring more
of the functionality into the monorepo.
This commit:
* Moves and updates the fxa-jwtool code to function the same
except as TypeScript with classes and no additional dependencies.