Performance Chat Summary: 27 June 2023

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

Announcements

  • Welcome to our new members of #core-performance
  • 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 for the 6.3 release is today!

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein @westonruter

  • @joemcgill I’m happy to be able to report that I committed the PR for https://core.trac.wordpress.org/ticket/12009 yesterday, closing a 13 year old ticketticket Created for both bug reports and feature development on the bug tracker.. This is a big milestone for the team, thank you to everyone who contributed to get this across the line. I know that there is still a desire to extend support to inline scripts, so I’ve opened a new ticket (https://core.trac.wordpress.org/ticket/58632) for that discussion.
  • @10upsimon is drafting a dev-note for this change, which we can hopefully post in the next few weeks.
  • @spacedmonkey I had people asking me questions about module support. – https://core.trac.wordpress.org/ticket/56313 I wonder if this should be something we look into for WP 6.4
    • @joemcgill Seems like the logical next step. Would be nice to do in coordination with packages from 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/ that want to make use of it.
    • @flixos90 Yeah I know the folks working on the new 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. were quite interested in this one
    • @clarkeemily let’s look at adding this to our roadmap in a future chat
    • @spacedmonkey The important thing about this functionality is the developer communication. We need a great dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase., with easy to understand and copy and paste implementations. We will also have to show developers how we can make the change and be backwards compatible.

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

  • @flixos90 Excited to share that yesterday we landed fetchpriority="high" support: https://core.trac.wordpress.org/changeset/56037
    • That commit includes notable refactoring to make the logic that was previously scoped to only lazy-loading more broadly available, as it is also required for fetchpriority
    • So with that refactoring it also unblocks a fix to another issue that still needs to be addressed with lazy-loading: https://core.trac.wordpress.org/ticket/58635
    • I’m planning to work on dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for these changes. Still thinking through whether it should be two individual dev notes or a single one. While they are separate topics, they are deeply intertwined, and especially with the refactoring it may be a lot of repetition to have two separate posts

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @olliejones @joemcgill @mukesh27

  • @joemcgill Nothing here either. Though, once the dust settles on beta release day, I’d like to revisit improvements we can make to the automated testing tools during this release cycle, to better support the 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). cycle.

Ecosystem Tools

Link to roadmap projects

Contributors: @joegrainger @mukesh27

  • @mukesh27 and @joegrainger are currently prioritizing tasks for Milestone 2 of the Plugin Checker. Progress can be seen on the GitHub repo here. Feel free to take a look and leave any thoughts/ideas you may have in the repo. Thanks!

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @flixos90 Still awaiting approval of the Dominant Color Images 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 in the plugin repo

Open Floor

  • @clarkeemily our next chat is on July 4 Independence Day in the US, so I suspect a large portion of folks will be out. I still plan to run the chat, but a heads up that it will likely be much shorter as many folks will be out
  • @mukesh27 highlighted the message from @johnbillion
    • #21938 has been re-opened with the performance focus added, the e2e tests are indicating a potential performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. that needs testing in different browsers and configurations
    • @johnbillion Ah yes ^ . Some of you might have seen the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and Gutenberg e2e tests are flakier than usual at the moment and it may be due to the no-store cache headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. directive that was added last week. I’ve reopened the ticket and added the performance focus, if anyone has time to do some testing that would be greatly appreciated.
    • @joemcgill I remember looking at this last week when I opened the 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. ticket about the E2E tests, and I was not convinced that the failures were related to that change, so this might be a red herring. I recall seeing several instances of networknetwork (versus site, blog) timeouts showing up prior to that change.
    • @johnbillion I agree it could be a red herring, but git bisect does point to that commit, so I’m honestly not sure. Although the core e2e tests did start failing before that commit, so..
    • @joemcgill I think we can certainly try revering that change to see if the tests stop failing. Are there other steps to take to try and debug this issue?
    • @johnbillion I added some testing steps in a comment on the ticket, I don’t have much else at the moment
  • @westonruter On another front, I believe I’ve addressed the last code review for optimizing the emoji loader. Final reviews/testing appreciated so I can commit in the next hour: https://github.com/WordPress/wordpress-develop/pull/4562

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

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