Performance Chat Summary: 13 August 2024

The full chat log is available beginning here on Slack.

Upcoming Release

The next release for Performance Lab and related performance plugins is scheduled for Monday, August 19 at 1:00 PM EDT

@westonruter shared a pulse check on Monday noting that the milestones are on average 55% complete. During the meeting he mentioned that the Modern Image Formats issues still needs to most eyes.

@flixos90: “It seems there have been quite a few bugs piling up from the picture element support, but I haven’t been able to look closely yet. Is there an overarching theme that these fall into? E.g. ecosystem compatibility, or edge-cases, or compatibility with other image features of the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party?”

@adamsilverstein: “…the picture element support missed a few things we could have caught before launching. we also did already fix a few compatibility issues that would have been hard to catch”

This led to a longer conversation about the goal of experimenting with picture support from a performance point of view.

@flixos90: “My concern with this is mostly about how much of a priority it should be compared to everything else we have on our plate as a team. Of course there’s value in exploring picture element in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., but for instance if it doesn’t help much with AVIF, I question that we prioritize it this much. It’s by no means a simple feature to implement and land, and the bugs require a lot of attention that is taken away from the other things we’re working on (e.g. better responsive image sizes handling) which IMO have a greater performance benefit”

Active Priority Projects

Open Floor

@clorith raised the following:

“I’m thinking about making a new core ticketticket Created for both bug reports and feature development on the bug tracker. to introduce a Sustainabiliuty classification to the Site Health checks, as some of the performance ones, when there’s no real performance problem as is, but the recommendations would be good for sustainability., Just wanted to voice it with y’all first before I started throginw out ideas to change your classifications”

@flixos90: “Definitely some overlap between the two, but I like the idea. Sustainability is a different motivator than performance and some checks may apply more to one than the other. Either way, it’s a good way to promote certain checks and of course sustainability”

Next step is that @clorith plans to open a ticket with recommendations for which checks to possibly reclassify to get input. 

Our next chat will be held on Tuesday, August 20, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Summary, Dev Chat, August 7, 2024

Start of the meeting in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @joemcgill. 🔗 Agenda post.

Announcements

There were no announcements this week.

Forthcoming Releases

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is scheduled for Tuesday, October 1.

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.2

The next maintenance release will be 6.6.2 and will likely be released at the end of the month, likely August 26 with RC1 the week before.

Next GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ release: 19.0

Gutenberg 19.0 is scheduled for August 14. RC1 was released on August 7.

Discussion

@joemcgill led with this reminder:

WordCamp US is coming up on September 17–20, and @courane01 has begun requesting table leads from all the Make teams for Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/.. We can use some time to discuss this and answer any questions folks might have.

Open Floor

#53817 was raised in the agenda comments. We discussed that this issue should be opened in the Gutenberg repo instead of TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., which @hellofromtonya offered to handle.

Next, we discussed #51525. @mathieulamiotwpmedia described where the ticketticket Created for both bug reports and feature development on the bug tracker. was up to:

We are interested in this possible enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. for a while and we built a library that we currently use based on the ticket’s discussions. Having this directly in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. would open up a few possibilities to make apply_filters typing more resilient, but it was never really clear in the ticket discussion if such approach could make it to the Core at some point.

So, we suggest a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. based on the library we built, and it would be great to get feedbacks from Core maintainers. First, to know whether or not it’s worth pursuing the effort on this, from a WP Core perspective. And if yes, what could be next steps

The ticket itself is loaded with information and context, and the patch itself might not be easy to assess right here right now ; but I thought we could bring this up here to maybe follow-up on it asynchronously. That’s it, I guess!

We discussed whether this should be included in Core, how it could be used, or if it is intended as a shared APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that plugins and themes would use.

Finally, @swissspidy mentioned this merge proposal for Preferred Languages that resulted in some good feedback, including:

  • Concerns that core starts consuming GB packages outside of the editor
  • Tooling limitations in core (no TypeScript, no ESLint, no Jest tests)
  • Concerns about adding TypeScript to core (implications for build server etc.)
  • Need to have performance tests with fallback chain as well

@swissspidy will publish a new make/core post following this feedback.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Props to @joemcgill for proofreading.

#6-7, #core, #dev-chat, #summary

Performance Chat Summary: 6 August 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • Performance Lab pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (and other performance plugins)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 has been working on the following
    • Modern Image Formats plugin:
    • PR #1408 – Picture element: Correct the fallback image – Ready for review
    • PR #1437 – Picture element: Full size image is missing in PICTURE > SOURCE srcset (Blocked by above PR 1408)
    • Issue #1439 – Picture element: Small image size issues – Open for discussion
  • @thelovekesh PR for web worker offloading plugin is merged – https://github.com/WordPress/performance/pull/1247
    • @westonruter this has not yet been added to wp.org as ideally it would first have some built-in feature to offload a frontend script to the worker. Like offloading gtag. The challenge is that there is no consistent way that other plugins add gtag to the page. However, the output buffer and/or tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) visitor infrastructure provided Optimization Detective could be used to rewrite external gtag scripts to use Partytown. This would be another nice cross-plugin integration in Performance Lab, as is also seen in Embed Optimizer and Enhanced Responsive Images.
    • @joemcgill Is there a simple example use case that could be used to demo the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that developers would need to use to offload their own scripts using this plugin? Maybe a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. that adds some non-critical JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.?
    • @westonruter Yes, it is in the readme, or at least in the PR description. The readme’s instructions should be fleshed out with the same content as the PR description
    • @adamsilverstein We could also document how to leverage with some of the top plugins eg analytics plugins
    • @westonruter Yeah. We could look at how the most popular plugins are adding gtag to the page (e.g. Site Kit), and specifically target them.
  • @westonruter There are quite a few bugs for Modern Image Formats, some of which are listed above, so let’s investigate that
    • Otherwise, Modern Image Formats seems like it needs the most attention as of now, given it seems to have the most bugs and support topics.

Active Priority Projects

Improving the calculation of image size attributes

  • @joemcgill advised that he and @mukesh27 have discussed creating a ticketticket Created for both bug reports and feature development on the bug tracker. to propose adding auto-sizes to core

Plugin Check

Open Floor

  • There were 2 tickets we wanted to discuss today
    • #42743
      • @pbearne I have been trying to find a good way to Disable wp_options autoload for inactive widgets. Any suggestions are welcome
      • We can turn it off if wp_use_widgets_block_editor() returns false
        but with the widgets_block_editor code, the inactive widgets are kept with the active
    • #60414
      • @joemcgill This came up during Dev Chat last week as well. For this to move forward it really needs at least one committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. (likely several) to shepherd it into trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., which includes helping build consensus about any open questions that still need to be resolved.
      • From a Performance Team point of view, we’ve not prioritized it on our roadmap because the performance benefit is theoretical at this point. If someone could show the likely performance benefit of these changes, then it would be worth putting more effort into. As an aside, I do really think WP should implement this personally, but don’t have time myself to take this on.
  • @joemcgill If we have time, I wanted to ask if we want to have a Performance Team specific table at WCUS this year? I assume yes, but wanted to confirm before letting the organizing team know.
  • @joemcgill will be leading this meeting next week

Our next chat will be held on Tuesday, August 13, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Developer Blog editorial meeting summary 1 August 2024

Summary of the WordPress Developer Blogblog (versus network, site) meeting, which took place in the  #core-dev-blog channel on the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. Start of the meeting in Slack.

Attendees: @milana_cap, @oglekler, @ironnysh (async), @bcworkz (async) and @bph (facilitator).

Last meeting notes: Developer Blog editorial meeting summary 4 July 2024

Newly published post since the last meeting: 

Since the last meeting, we published the following articles

Huge Thank You to the writer and reviewers! 

Project Status

The project board for Developer Blog content is on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.

In review

In Progress:

Post on the To-do-list, assigned to writers.

Topics, approved, in need of a writer

If you are interested in taking on a topic from this list or know someone who would be a good person to write about them, comment on the Issue or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @bph in Slack either in the #core-dev-blog channel or in a DM.

New Topics approved

The latter is part of the roll-out of video content type for the Developer Blog, proposed and approved during a meeting on July 4th, 2024: “The next step is that Ryan will submit an overview of all directives of the Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. and provide an example of the first video. It will also be the test drive of the suggested process from which we can iterate afterward.

Next meeting: September 5, 2024, at 13:00 UTC in the #core-dev-blog channel

Props to @oglekler for the review of the post.

#meeting, #meta, #summary

Summary, Dev Chat, July 31, 2024

Start of the meeting in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @mikachan. 🔗 Agenda post.

Announcements

There were no announcements this week.

Forthcoming Releases

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.2

@hellofromtonya confirmed the status of 6.6.2:

  • No schedule yet for it.
  • @hellofromtonya and @jorbin suggested tentatively scheduling a regular maintenance release for late August unless something critical requires that schedule to change.

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is scheduled for Tuesday, October 1.

@jorbin asked what timeframe we want to consider early for the purposes of the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. keyword. There was no consensus in the meeting, but this provides an opportunity to improve our documentation to avoid confusion about what this keyword means. @joemcgill offered to review if someone wants to attempt to improve the docs about the early keyword in our handbook.

@mikachan reported that she checked in with @priethor about an update on the release squad for 6.7 and expects to have an update sometime next week.

Discussion

@mikachan led with this update:

I’d like to note that WordCamp US is coming up on September 17–20, and @Courtney has begun requesting table leads from all the Make teams for Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/.. Please let her know if you’re interested in leading a table for the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, and feel free to ask questions in #core.

Open Floor

@nikunj8866 raised two issues for discussion:

  • #40477
    • @joemcgill suggested that this could use a review from a REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. maintainer
    • @hellofromtonya identified the need for an owner and automated tests
    • @spacedmonkey offered to take a look
  • #13459
    • @jorbin suggests that it needs automated tests

@spacedmonkey raised a question about #60414:

What defines “ready to commit” for this ticketticket Created for both bug reports and feature development on the bug tracker. and tickets of this size? What are the next steps to get a ticket like this merged into core? How many core committers need to sign off on it? Can it be committed in WP 6.7?

This question was previously raised and discussed in this #core-committers conversation in Slack and summarized by @hellofromtonya in this Trac comment.

@jorbin identified the biggest thing needed to move this forward is having multiple committers who are willing to drive consensus and finalize the implementation before it is committed. @hellofromtonya shared these three proposed steps that @jorbin had previously shared in the Slack conversation:

  1. Getting the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. on a dotorg sandbox and making sure it doesn’t blow up .org.
  2. Getting this on a large host so we can see how it performs in the myriad conditions core runs
  3. Making sure that wp-cliWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ doesn’t break

Additional conversation about the proposal ended with @mikachan suggesting that a good next step might be an updated post for make/core, since there are still many questions to resolve.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Props to @mikachan for proofreading.

#6-7, #dev-chat, #summary

Summary, Dev Chat, July 24, 2024

Start of the meeting in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @hellofromtonya. 🔗 Agenda post.

Announcements

Congrats and thanks to everyone who contributed to these releases!

Forthcoming Releases

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.2

@hellofromtonya confirmed the status of 6.6.2:

  • No schedule yet for it.
  • Some fixes have already been backported to the 6.6 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"..
  • Currently reviewing fixes in the milestone.

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is scheduled for Tuesday, October 1.

The 6.7 release squad is still TBD, and there will likely be an update posted soon.

@davidbaumwald asked some good questions about the combining of the MarComms role into the Release Coordinator role for 6.7. During the chat, we discussed that combining the roles could limit who might raise their hands in future releases. Please leave any further thoughts on the call for volunteers post.

Discussion

During discussion time, we talked about the proposal to move the dev chat’s time to an APAC friendly time during 6.7 cycle. There are 4 options presented and deadline for feedback is July 31. There doesn’t seem to be a clear solution, and we discussed a few questions, such as:

  • What if the 6.7 Release Coordinator is not in APAC? How does that affect the proposed times, if at all?
  • What if we share topics, concerns, questions, etc. in the Dev Chat agenda?

@clorith noted that anything that helps the 6.7 squad be efficient is ideal and that the goal behind the dev chat agendas being posted a minimum of 24 hours in advance gives folks who can’t attend a chance to raise topics.

Please share any further feedback on the proposal.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Props to @joemcgill for proofreading.

#6-7, #core, #dev-chat, #summary

Performance Chat Summary: 30 July 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • Performance Lab pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (and other performance plugins)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

Active Priority Projects

Improving the calculation of image size attributes

  • @mukesh27 For Improving the calculation of image size attributes i have been working on:
    • PR #1382 – Update wp_calculate_image_sizes to Reflect Changes in sizes attribute
    • Issue #1389 – Accurate sizes improvement didn’t account for the disable filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for sizes – Merged

Plugin Check

Open Floor

  • @adamsilverstein I have one update: my PR adding User Timing metrics for the Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. was approved and merged: https://github.com/WordPress/gutenberg/pull/60522 this is hidden behind a debug flag until the API is stable and also only available in the plugin for now

Our next chat will be held on Tuesday, August 6, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Summary: 23 July 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • Performance Lab pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (and other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • There are currently 16 performance issues in 6.7
  • @pbearne I need input on this ticketticket Created for both bug reports and feature development on the bug tracker. as I made opinionated changes as to which option should not be autoloaded #61103
    • @joemcgill I plan on digging into that PR to give you feedback, but am going to be out on holiday for a bit. If anyone else has time to look at this in the mean time, please do so.
    • @mukesh27 I will take a look this week
    • @joemcgill One thing that will be good to understand, is that if we aren’t autoloading options that are only needed in the adminadmin (and super admin), how do we make sure the editor experience isn’t negatively affected. I think you’re already planning on priming all of those options in the admin, but would be good to get some performance measurements of the before/after of both the front end and admin.
    • @pbearne I have a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. to load the admin options in back on wp_int

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have been working on PRs that ready for review:
    • Performance Lab plugin:
      • PR #1374 – Autoloaded Options Health Check: Disabled options reappear in Site Health after external update
    • Modern Image Formats plugin:
      • PR #1354 – Picture element: The accurate sizes improvement for images not working
  • @westonruter It seems like we’re getting increasing reports of issues with image generation in Modern Image Formats
    • In GitHub and support forums
    • @westonruter Might be related to the issue of AVIF generation taking a very long time sometimes?
    • @joemcgill Ah, I do remember cases a long time ago where image generation could take longer than the max PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher timeout on some hosts and result in the attachment data being created in the DB while the actual image generation failed. I wonder if something like that is happening?
    • @westonruter That’s being discussed here: https://github.com/WordPress/performance/issues/371
    • @adamsilverstein this could also be a support detection issue, (where format support for AVIF gives a false negative or positive), interesting they say it falls back to WebP
    • @westonruter I wonder if the AVIF generation should be moved a background process? Use the JPEG immediately upon upload and then use the AVIF once it is available
    • @adamsilverstein we already have a way of generating images in multiple passes, but it needs to be able to process one image completely before the timeout
    • @joemcgill That’s a good idea. There is prior art for generating missing intermediate sizes that could be referenced.
    • @pbearne Idea: we need a long process control for wp-admin that can be used for any task that takes a long time (images gen, post delete, etc.)
    • @adamsilverstein https://github.com/WordPress/performance/issues/490 was part of that previous effort, there is also a trac ticket
    • @westonruter I thought that was primarily for regenerating the entire media library
    • @adamsilverstein yes, but part of that was the ability to regenerate images in i the background #6814 16 year old ticket
    • @joemcgill It’s not totally accurate anymore, after #40439
    • @adamsilverstein true, we partially solved the issue with that, as long as the user agent remains present to trigger the retries
    • @joemcgill I’ve played with using WP_Cron for this a looooooong time ago, but that can cause failures to affect end-user front-end requests, which we’d want to avoid

Active Priority Projects

Improving the calculation of image size attributes

  • @mukesh27 For Improving the calculation of image size attributes i have been working on:
    • PR #1382 – Update wp_calculate_image_sizes to Reflect Changes in sizes attribute
    • Issue #1389 – Accurate sizes improvement didn’t account for the disable filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for sizes
    • @joemcgill I’m reviewing those this morning

Plugin Check

Open Floor

  • WordPress 6.6 performance analysis
    • @adamsilverstein Yes… I have been working on a post for 6.6 performance changes and will share a draft here for feedback soon!
    • one challenge has been identifying the source of the slight regressions we see in 6.6 (the numbers haven’t changed much since I shared results here for an RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). a few weeks ago)
    • part of the challenges is tracking changes that originate in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ project and are then merged over to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. our automated tests haven’t highlighted issues, nor are the Gutenberg performance tests
    • some ideas: it might be because the regressions are very small and spread out over a number of commits, or it might be related to the difference in how we are doing automated tests. in case, it points to an area we can improve
    • @joemcgill Agreed. There are a number of improvements that we could make to our CI infrastructure in both the GB repo and in Core that would help. We’ve already got https://github.com/WordPress/performance/issues/1380 as a place to discuss a set of improvements we want to focus on next. I’d love to see more discussion there so we can define and prioritize some next steps.
    • One of the questions that I still have is whether the benchmarks that we have been taking at the end of each release are providing us with useful info, or if they are obscuring what is really happening in the field.  @adamsilverstein I’m curious if we could get some HTTPArchive data after 6.6 has been out a while to see if our lab benchmarks relate to real user data or not.
    • @adamsilverstein that is a good point, I’m happy to work on that. we should have enough data in a few months.
    • some performance improvements we are adding will really only become apparent in the field data, and our automated testing can’t really measure those

Our next chat will be held on Tuesday, July 30, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Summary, Dev Chat, July 17, 2024

Start of the meeting in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @joemcgill. 🔗 Agenda post.

Announcements

Congrats to everyone for these releases! 🎉

Forthcoming Releases

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.1

WordPress 6.6.1 will be the first maintenance release following the 6.6 major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.Here are the tickets currently set for that milestone.

During the chat, @hellofromtonya, @ellatrix, @jorbin, @audrasjb, and @marybaum all offered to help with the 6.6.x releases. Thank you! ❤️

@hellofromtonya stated the current status of 6.6.1:

  • There are multiple reports of CSSCSS Cascading Style Sheets. specificity issues – causing all links to be underlined. A fix is ready. A test pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is available. Have multiple test reports showing it fixes the issue with no side effects. But would be good to get more reports on affected sites.
  • 2 reports of fatal errors. One has a fix and the other is being investigated (I have a fix in mind).
  • Ella has been scrubbing in #core-editor.

@jorbin mentioned that there is also the $_old_files issue that is ready for a backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. in this release.

We discussed that a good time to release 6.6.1 would be sometime next week, as none of the issues mentioned are security-related, and this also gives us time to make sure there aren’t any further high-impact bugs.

Next major release: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is scheduled for Tuesday, October 1.

It looks as though there are still some members of the release squad that need to be confirmed from this post. @priethor mentioned that all the volunteers can be seen in the comments section of the call for volunteers post; nobody else volunteered via DM or similar.

@joemcgill followed up on a topic from last week, suggesting that for the 6.7 release, we move the time of these Dev Chats to a more APAC friendly-time since many of the release squad members in this release are located in that region and are unable to make these meetings.

I’ve followed up in #6-7-release-leads (reference) and there is interest in finding a more friendly time. Given the global nature of the project, there isn’t a perfect time that works for everyone to attend, so we’ll need to decide whether to move the time to later in the day (worse for folks in EMEA) or much earlier (worse for folks in the Americas). 

@joemcgill will follow up with a post to make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. about this.

Discussion

@afragen raised this ticketticket Created for both bug reports and feature development on the bug tracker. for 6.7: #53323. This places Hello Dolly in a containing folder to improve consistency with other plugins. Please leave any feedback directly on the ticket.

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

Props to @joemcgill for proofreading.

#6-6, #6-7, #core, #dev-chat, #summary

Performance Chat Summary: 16 July 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Welcome to our new members of #core-performance
  • Version 3.3.0 of Performance Lab pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party was released yesterday
  • WordPress 6.6 release happening today Tue Jul 16

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release
    • Future release
  • Performance Lab plugin (and other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • @joemcgill For visibility: on Friday, I reverted r58334 due to a late reported bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. related to the caching global styles for blocks. This was done as part of #59595. I have a PR that I need to refresh that fixes the issue and reinstates the cache, which I hope to have included in 6.6.1.
  • There are currently 12 performance issues in 6.7 which will be reviewed in tomorrow’s bug scrub

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have also opened an issue for the Picture element: The accurate sizes improvement for images not working #1349. The new changes from the Enhanced Responsive Images (formerly known as auto-sizes) plugin are not working
    • @westonruter let’s prioritize fixing those and push out short-cycle standalone releases
    • @mukesh27 confirmed it’s Modern Image formats plugin causing the bug and will share more details on issue

Active Priority Projects

Improving the calculation of image size attributes

  • @joemcgill now that we’ve released the first version of Auto-sizes Enhanced Responsive Images that includes those improvements, I think @mukesh27 and I will need to update the overview issue with the main goals for the next priority features. At the same time, we’ll continually iterate on issues that come up during testing.

Improved template loading

  • @joemcgill There were a couple of remaining tasks open on the Improved template loading epic, but at this point, we’ve accomplished the majority of what was originally planned and the remaining items really are iterative improvements to the WP_Theme_JSON system that really could be tracked as part of ongoing CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. work, or as a collaborative issue in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo, so I’m going to close up the related tickets and close that issue.
  • This section will be dropped from the agenda moving forwards

Plugin Check

Open Floor

  • @swissspidy I opened a proposal a while ago for a new PL plugin: https://github.com/WordPress/performance/issues/1324 The idea is to take data collected by Optimization Detective and display them in a nice little dashboard. Not sure yet how useful that would be, but thought I’d share it 🙂
    • @joemcgill I love this idea and wonder if there is an opportunity to surface other kinds of performance data on that dashboard, like CWV scores if available, etc. Though I really like the different use cases we’re finding for the Optimization Detective APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.. “CWV scores if available” meaning from the CrUX API
      • @westonruter I suppose to compare with the CWV metrics from actual visitors as measured by Optimization Detective?
    • @westonruter Yeah, actually storing the CWV metrics in the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Metrics custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. would be a key part of this. Currently we only store which element was the LCP, not what the LCP metric is.
    • @joemcgill Unless we’re collecting metrics from every visit, I think we’d need to somehow be clear about how those CWV metrics are representative of real users, and not a full picture.
    • @westonruter Yeah. It would be a sampling, for sure. But so is CrUX. Although surely CrUX sampling would be higher, assuming you get enough traffic to qualify
    • @joemcgill It is, but CrUX is a larger sample size than what we’re collecting with OD. The real value is that this would allow sites to get URL level data which can be more difficult for site owners to get from CrUX
    • @swissspidy There was also a proposal to use a separate storage mechanism (e.g. a custom table or CPT) that allows storing the data for more than 30 days
    • @swissspidy Precisely. And also without waiting for next month’s data to arrive etc. You could more quickly see the performance impact of changes made to the site.
    • @joemcgill Rather than making this a separate plugin, I really think we should consider adding this type of data to Performance Lab and integrate OD when available (or bundle the API into that plugin too). Now that all of our Performance features are unbundled into standalone plugins, I think there’s an opportunity for PL to add more value as a tool for collecting and surfacing performance metrics and opportunities for improvement to site owners.
  • @swissspidy Another quick update from my side: I had some very productive discussions with some Gutenberg folks about client-side media processing and they shared some valuable feedback about separation of concerns. I am currently refactoring my Media Experiments plugin based on that feedback, hoping to have something that can be merged into Gutenberg afterwards. The tracking issue on the Gutenberg repo is this one: https://github.com/WordPress/gutenberg/issues/61447

Our next chat will be held on Tuesday, July 23, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary