Performance team meeting summary 11 July 2022
Meeting agenda here and the full chat log is available beginning here on Slack.
Focus group updates
Images
@adamsilverstein @mikeschroder
- @mukesh27:
- @joegrainger: Continuing research for Regenerate existing images #24 and Update WordPress core functions to support multiple mime types #155
- @mehulkaklotar: Merged Remove backup sources & sizes files when attachment deleted #411 for 1.3.0 and core patch updates for WebP
- @akshitsethi: Working on Only replace content images with additional MIME type version when in a frontend request context by default #379
- @spacedmonkey: Dominant Color: GIF images always being flagged as having transparency. #405 and Dominant Color: Enable module by default #402 ready for review and merge
- @pbearne: For dominant color module core patch, need review and feedback on:
- Feature proposal
- Dev notes
- PRs: https://github.com/WordPress/wordpress-develop/pull/2906 and https://github.com/WordPress/wordpress-develop/pull/2907
- @flixos90: Working with @adamsilverstein to finalize the foundation core patch for additional MIME types/WebP: https://github.com/WordPress/wordpress-develop/pull/2393. Main thing to add is more test coverage. Plan to commit this week.
Feedback requested
- See above
- Needs Discussion (9 issues)
- Needs Testing (1 issue)
- Needs Review (5 issues)
Object Cache
- @spacedmonkey: Code review needed for https://github.com/WordPress/wordpress-develop/pull/2684, https://github.com/WordPress/wordpress-develop/pull/2967, and https://github.com/WordPress/wordpress-develop/pull/2478
- Committed https://github.com/WordPress/wordpress-develop/commit/2db7debe8a2f0b2ea264d1765c549bbf5b44a052
- Reviewed https://github.com/WordPress/wordpress-develop/pull/2969 and https://github.com/WordPress/wordpress-develop/pull/2836
- Believe that https://github.com/WordPress/wordpress-develop/pull/2478 is ready to go, would like to commit early and handle edge cases with follow-up issues
Feedback requested
- See list above
- Needs Discussion (3 issues)
- Needs Review (2 issues)
Site Health
N/A
- We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
- @shetheliving: Confirmed that the new documentation for the Autoloaded Options module was good to go, so the link is being updated in Update documentation link for autoloaded options #408 and we have a new issue Remove Experimental label from Autoloaded Options Site Health audit #409 to remove the Experimental label from this module
- @furi3r: Working on porting Full Page Cache and Persistent Object Cache Health Checks to core in https://github.com/WordPress/performance/issues/391 and drafted proposal post here for review
- @spacedmonkey: Approved https://github.com/WordPress/wordpress-develop/pull/2890 and so has another core committer; are we waiting to commit until the blog post goes live?
- @flixos90: Yes, should definitely publish a post before committing anything. Are the PRs linked in the post?
- @furi3r: Think so, will check
Feedback requested
- Needs Discussion (6 issues)
- Needs Review (1 issue)
Measurement
N/A
- We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
- @shetheliving: Blog post about plugin performance checker went live last week
- @flixos90: Have to follow up on comments, but overall very supportive. Some concerns about enforcing coding standards/styles, which we won’t do, so will reply to those; then we can come up with a design and infrastructure build and starting coding. Already worked on a proof of concept here: https://github.com/felixarntz/plugin-check
Feedback requested
- Needs Discussion (5 issues)
- Needs Review (1 issue)
JavaScript
- No updates
Feedback requested
- Tree-shaking block styles on the frontend #41020
- Needs Discussion (2 issues)
- Needs Review (3 issues)
Infrastructure
- @flixos90: Implement mechanism to not load module if core version is available #390 was merged a few days ago; this allows modules to define logic under which they should (not) load, which is especially relevant for modules that are already merged into core
- @flixos90: 1.3.0 release is on Monday; there are several open PRs for it that should be completed/merged by EOD tomorrow or else they may need to go to the next release
Feedback requested
- Needs Discussion (4 issues)
- Needs Review (1 issue)
- Needs Dev (1 issue)
Module proposal: SVG uploads
- @masteradhoc: This is one of the bigger achievable pain points that I see in WP, as the vectorized format is quite popular for logos, icons, and illustrations. SVG is widely supported and has been for some time. A lot of concerns have been raised in the original Trac ticket about this in terms of security, as SVGs could include scripts, which is a security concern. The proposal only allows for SVGs to be uploaded if they do not contain scripts.
- @pbearne: Seems like a good approach
- @spacedmonkey: The Images folks are correctly focused on WebP conversion and dominant color. Once those are in core, the team Images team can focus on it, with a 6.2 merge at the earliest. SVG has a lot of benefits but you upload them at your own risk. Need to ensure that SVGs are stripped of inline scripts and maybe even animations.
- @flixos90: Agreed that supporting any scripting should be avoided, especially to start
- @spacedmonkey: My code for Web Stories SVGs is open source: https://github.com/GoogleForCreators/web-stories-wp/blob/main/includes/Media/SVG.php, using this library: https://github.com/darylldoyle/svg-sanitizer
- @flixos90: Supportive of a Performance Lab module for this. Given that there are reliable approaches out there already for stripping scripts from SVGs, would be realistic to get this as a module fairly quickly and then get some testing. 6.2 for core merge would be a realistic goal.
- @flixos90: Would https://github.com/darylldoyle/svg-sanitizer be compatible with core in terms of licensing, PHP version support, etc?
- @spacedmonkey: Has a GNU general public license, would need to be loaded into core and maintained
- @flixos90: How large is the codebase and how complex is the code that actually sanitizes the SVG?
- @spacedmonkey: 25k, but 4k of that is the
readme
; it is complex
- @shetheliving: Sounds like we’re all in favor of moving forward! @masteradhoc will get started working on concept, testing, and administration, but will need some deeper code knowledge – just let us know when you need us.
Help wanted
- All issues labeled Needs Discussion
- All issues labeled Needs Decision
- All issues labeled Needs Dev
- All issues labeled Needs Review
- All issues labeled Needs Testing
#core-js, #core-media, #performance, #performance-chat, #summary