-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Hide features where no plans use and remove unavailable Woo Express features #84179
Hide features where no plans use and remove unavailable Woo Express features #84179
Conversation
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~33 bytes removed 📉 [gzipped])
Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~78 bytes added 📈 [gzipped])
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 (~78 bytes added 📈 [gzipped])
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. Generated by performance advisor bot at iscalypsofastyet.com. |
@@ -872,7 +873,10 @@ const FeatureGroup = ( { | |||
firstSetOfFeatures, | |||
] ); | |||
const features = featureGroup.get2023PricingGridSignupWpcomFeatures(); | |||
const featureObjects = getPlanFeaturesObject( allFeaturesList, features ); | |||
const featureObjects = filterUnusedFeaturesObject( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, @chriskmnds 👋
Appreciate if you could help me check if I'm doing anything that goes against the direction you'd like plan grid to go since I'm aware of a refactor around it. I intend to hide features where none of the plans are using from the grid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah - sorry for the wait, and thanks for waiting. I left a comment below and can follow up a little better next :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and tested well! 🚢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @ilyasfoo . Thanks for the ping. I can take a closer look later today or tomorrow if it can wait. From a first impression, and to also orient/understand a little better, I have a question: is this something we couldn't do in useRestructuredFeaturesForComparisonGrid? That is what's putting together the features for comparison grid at a higher level.
Adding on top of what @chriskmnds mentioned above. I think it's time to start rethinking the get all and then filter approach of the features for woocommerce. The general approach for custom plan features has been to define them in packages/calypso-products/src/plans-list.tsx. So that the features and it's display logic stay encapsulated in one centralised source of truth. (In addition to above, when it comes to the To bring this closer to that vision, you can move any conditional logic inside the function shown below and pass in parameters/flags to the function to conditionally resolve any features if required. (This would also remove a few loops from our already compute burdened signup grid logic) wp-calypso/packages/calypso-products/src/plans-list.tsx Lines 1158 to 1159 in 27ac6bf
Above is mainly to refactor the changes done in #81506. @daledupreez Please let me know if I am missing something here 😬, did not have much time to absorb the entire context. |
…onal introductory offer check
Thanks for your input, folks!
@chriskmnds I don't think we can use that since what I intend to do here is to remove the "unused" features, which currently is referring to a static list. As far as I understood, the To provide a bit more context, I hope this screengrab can help:
@jdc91 Actually, I confused myself between $1 offer features & Woo Express base feature.. These sets of features are not available even when a user purchases it. I've reverted the changes in 380d6c8
Hope I clarified this in above screenshot - the features are already disabled for the introductory offer plans, but the listed features are still shown despite none of the plans are using them. |
…-applicable-features-woo-express-plans
… conditional introductory offer check" This reverts commit d79a5f8.
…-applicable-features-woo-express-plans
This PR modifies the release build for the following Calypso Apps: For info about this notification, see here: PCYsg-OT6-p2
To test WordPress.com changes, run |
Merging since there is 1 approval and tested, we can address any suggestions/changes in a follow-up! 🙏 |
…eatures (#84179) * Remove referral program, customer birthday emails, loyalty points program from Woo Express plans * Prune unused feature groups and features in grid plans comparison * Remove 'Custom product kits' and 'Assembled products and kits' * Add back features for base Woo Express plans, remove them via conditional introductory offer check * Revert "Add back features for base Woo Express plans, remove them via conditional introductory offer check" This reverts commit d79a5f8.
Related to #84178
Proposed Changes
Customizable Product Kits
orAssembled Products and kits
Referral Program
Customer Birthday Emails
Loyalty Points Program
Testing Instructions
Testing unavailable Woo Express features
Removed items:
Testing features and feature group removal
(curl -sL https://gist.githubusercontent.com/ilyasfoo/1cf26a4b64fc9102a8929e440e82234d/raw/4e05e5c1bbe20ce5034f0dffa60eb1b0c6d348bd/changes.diff; echo) | git apply
Shipping
feature group is not shown