-
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
Full Site Editing Design Picker: Enable Arbutus theme #58695
Conversation
Link to Calypso live: https://calypso.live?image=registry.a8c.com/calypso/app:build-21143 |
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~38 bytes added 📈 [gzipped])
Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~26 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. 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. |
Note: These changes also require updates to the Arbutus and Russell themes. Currently, in the themes showcase, Arbutus and Russell aren't displayed with beta tags alongside other FSE themes because they don't have the |
No longer! I added the tags to the theme showcase posts, so they're showing up as expected in the FSE tab: I also pushed an update on this branch to allow listing Arbutus and Russell as Classic themes. This requires simply duplicating each theme with |
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.
Works great for logged-in and logged-out users via /themes
, they're not showing as duplicates.
Question: why do we store the themes list of the design picker inside of a JSON instead of in a database entry, so we could update this list without necessarily re-deploying Calypso?
I agree with this sentiment, but I'm unsure about the history behind this decision. Maybe @p-jackson or @ciampo could provide more context? |
Unfortunately I don't have any insights into this; when I worked on the |
I believe API powered design options simply hasn't been implemented yet, in this newer onboarding flow. |
Yup, it just hasn't been implemented yet. The designs in Question: is there a taxonomy or term that all the FSE beta themes have in common? When the design picker in |
The historical reason for storing the themes in JSON is simply that we've (almost) always done that in signup/onboarding. A good reason is performance (no API endpoint needed) but it's poor from an ongoing maintenance perspective. I am happy to see the Blogger Onboarding initiative use the REST API so as to reduce ongoing work in launching new themes.
The FSE themes all currently use |
Note this issue, for tracking an enhancement to get FSE designs via API during onboarding: #58667 Also, I think it's likely that the design choices may not all be "themes" in the future, in the traditional sense. They could be a theme + a specific home page template, or a theme with an alternative theme.json (which has been discussed in Core, but I don't think it's implemented yet). So whatever API driven solution we create, it should be flexible to adapt to designs being something other that strictly a theme choice. |
I created a separate PR to enable the Russell theme in the design picker. The reason we're splitting up the PRs is because Russell currently has block error issues when loading in the site editor. We're planning to investigate the errors before displaying Russell to users in the onboarding flow. |
* Enable arbutus and russell in design picker Co-authored-by: Matt Wiebe <[email protected]>
Changes proposed in this Pull Request
available-designs-config.json
to include new Arbutus block theme./new
FSE beta onboarding design pickerScreenshots
Testing instructions
Related to # #58663