-
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
Adding new assembler flow #72747
Adding new assembler flow #72747
Conversation
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~69 bytes removed 📉 [gzipped])
Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~7146 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 (~1158 bytes removed 📉 [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. |
client/landing/stepper/declarative-flow/internals/steps-repository/pattern-assembler/index.tsx
Outdated
Show resolved
Hide resolved
...t/landing/stepper/declarative-flow/internals/steps-repository/pattern-assembler/constants.ts
Show resolved
Hide resolved
}; | ||
|
||
const submit = ( providedDependencies: ProvidedDependencies = {} ) => { | ||
recordSubmitStep( providedDependencies, '', flowName, _currentStep ); |
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.
Would it be better to introduce new intent for the site assembler flow? Or is the flow name enough for tracking cc @autumnfjeld
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.
I think the flow name should be enough for now cc: @autumnfjeld
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.
@arthur791004 I think we can leave this as it is and address it on metrics issue, how do you think?
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.
Sure!
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.
Great!
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.
We have discussed the topic of intent in a few different places:
- p1671807817094079/1671770959.129519-slack-CRWCHQGUB
- pbxlJb-3bS-p2#comment-2201
- p1673498055131429-slack-C048CUFRGFQ
The problem with using intent=assembler
is that we can't keep track of the build and write intent if we overwrite it with assembler
. And the write intent is used in My Home to conditionally show content. Thus, we have some constraints we must respect.
Can you point to all the different flowName
options we have? To give me a sense of where else flow is used.
Is it this same flow. And these are all the flow possibilities?
I'm worried we are using flow in two different ways:
- stepper flow definition
- singup flow definition (e.g. when
flow=onboarding
) - maybe these are all compatible?
- see FigJam (which I didn't yet update! oops!)
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.
I started a new metrics map for the logged out PA flow. Let's fill in all the items correctly:
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.
Tested and look good to me 👍
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.
The changes work well 👍. Great job!
We could find a clearer name for the flow. See my suggestions. @Automattic/lego any better ideas?
This new flow will be triggered from a theme switch and also from an empty theme search (see Themes: Improve the Empty Search Results Screen) and possibly from other places where we want to help users create their own theme from scratch.
@@ -13,6 +13,8 @@ export const MIGRATION_FLOW = 'import-focused'; | |||
export const COPY_SITE_FLOW = 'copy-site'; | |||
export const BUILD_FLOW = 'build'; | |||
export const WRITE_FLOW = 'write'; | |||
export const SITE_ASSEMBLER_FLOW = 'site-assembler'; |
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.
I find the new flow name confusing:
/setup/site-assembler/patternAssembler
- Used for a theme switch or an empty theme search./setup/site-setup/patternAssembler
- Used for the onboarding flow.
Can we find a clearer name?
- Maybe
/setup/site-theme/patternAssembler
- Maybe
/setup/site-design/patternAssembler
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.
site-theme
does not make sense to me, and site-design
sounds like it more focus on the visualization of the site, and not include the content
I think this is not blocker though, will bring this up on tomorrow's sync
cc: @Automattic/lego
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.
Why are we mixing snake-case and camelCase? This seems wrong.
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.
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.
Thank you. I was just realizing that, going to other steps, like https://wordpress.com/setup/site-setup/designSetup
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.
For flows coming from the Theme Showcase, maybe to be cohesive with with-theme
https://wordpress.com/start/with-theme/user?ref=calypshowcase&theme=upsidedown
:
/setup/with-assembler/patternAssembler
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.
To be clear, we need two path names, where the differentiation in path name is
- logged-in -> theme switch PA flow
- logged-out -> onboarding PA flow
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.
CMIIW, but adding 2 path names means we have to create 2 flows in the Stepper Framework
BTW. When testing this PR, I found a critical issue, not on production, and it seems not related to these changes. Can you confirm? @bangank36 When switching to any theme preserving the homepage within the logged-in showcase, the API |
@miksansegundo I can reproduce the issue, I also think it is not related to this PR, since I was testing this issue on trunk |
Thank you. |
I did the final test before merging f868Oq.mov |
Proposed Changes
Testing Instructions
document.cookie = 'flags=pattern-assembler/logged-out-showcase;max-age=1209600;path=/'
Large screen ( > 960px )
Small Screen
GbkUzH.mp4
dzfFfc.mp4
TQLgEA.mov
Pre-merge Checklist
Reference
Related to #71706
Detailed post pbxlJb-3oe-p2