Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans Step: TS and function form #96786

Draft
wants to merge 6 commits into
base: trunk
Choose a base branch
from

Conversation

chriskmnds
Copy link
Contributor

@chriskmnds chriskmnds commented Nov 26, 2024

Related to #

Proposed Changes

Transforms the Plans step into TS and function form.

Why are these changes being made?

This is now imported and used in Stepper, which is a fully typed system. The Plans step has remained in its arcane form, potentially causing unnoticed inconsistencies in behavior/tracking/etc. A quick surface look points to a few properties wrapped from the old signup (Start) not passed from Stepper.

Testing Instructions

  • Need general sanity checks on the Plans step in onboarding flows:
    • /start/plans
    • /start/onboarding-pm/plans
    • /setup/onboarding/plans
  • Confirm buttons work, purchasing a plan
  • General sanity check of respective flows overall as the plans step contains back button logic, etc. So back/forth to domains & checkout, etc.

Pre-merge Checklist

  • Has the general commit checklist been followed? (PCYsg-hS-p2)
  • Have you written new tests for your changes?
  • Have you tested the feature in Simple (P9HQHe-k8-p2), Atomic (P9HQHe-jW-p2), and self-hosted Jetpack sites (PCYsg-g6b-p2)?
  • Have you checked for TypeScript, React or other console errors?
  • Have you used memoizing on expensive computations? More info in Memoizing with create-selector and Using memoizing selectors and Our Approach to Data
  • Have we added the "[Status] String Freeze" label as soon as any new strings were ready for translation (p4TIVU-5Jq-p2)?
    • For UI changes, have we tested the change in various languages (for example, ES, PT, FR, or DE)? The length of text and words vary significantly between languages.
  • For changes affecting Jetpack: Have we added the "[Status] Needs Privacy Updates" label if this pull request changes what data or activity we track or use (p4TIVU-aUh-p2)?

@chriskmnds chriskmnds self-assigned this Nov 26, 2024
@matticbot
Copy link
Contributor

matticbot commented Nov 26, 2024

Here is how your PR affects size of JS and CSS bundles shipped to the user's browser:

Sections (~31 bytes removed 📉 [gzipped])

name                  parsed_size           gzip_size
update-design-flow         -132 B  (-0.0%)      -31 B  (-0.0%)
signup                     -132 B  (-0.0%)      -31 B  (-0.0%)
link-in-bio-tld-flow       -132 B  (-0.0%)      -31 B  (-0.0%)

Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to.

Async-loaded Components (~392 bytes removed 📉 [gzipped])

name                                             parsed_size           gzip_size
async-load-signup-steps-plans-theme-preselected      -1949 B  (-0.5%)     -392 B  (-0.3%)
async-load-signup-steps-plans                        -1949 B  (-0.5%)     -390 B  (-0.3%)

React components that are loaded lazily, when a certain part of UI is displayed for the first time.

Legend

What is parsed and gzip size?

Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory.
Gzip Size: Compressed size of the JS and CSS files. This much data needs to be downloaded over network.

Generated by performance advisor bot at iscalypsofastyet.com.

@matticbot matticbot added the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Nov 27, 2024
@chriskmnds
Copy link
Contributor Author

@escapemanuele - still WIP but I think it's getting closer. Might need to move some files around at some point. Hopefully we get to review stage by end of the week or early next week.

and after this exploration, I'm convinced we need to do the same for Domains ASAP 😆

@escapemanuele
Copy link
Contributor

Sure thing @chriskmnds, thanks for moving through all the difficulties ✌️

@matticbot
Copy link
Contributor

This PR modifies the release build for the following Calypso Apps:

For info about this notification, see here: PCYsg-OT6-p2

  • notifications
  • wpcom-block-editor

To test WordPress.com changes, run install-plugin.sh $pluginSlug update/plans-step-typescript on your sandbox.

@chriskmnds
Copy link
Contributor Author

@escapemanuele I'm weirdly surprised this actually works so far already 😮

TODO:

  • Migrate the step code and styles under client/landing/stepper/declarative-flow/internals/steps-repository/unified-plans
  • Import and use in Start instead
  • Test test test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. Stepper
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants