Performance team meeting summary 26 July 2022

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

Announcements

  • @shetheliving: Performance 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. scrub will be held Wednesday, August 3, 2022 at 11am EDT

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Main WebP work has been merged to core! Ticketticket Created for both bug reports and feature development on the bug tracker. is still open because there are several small follow-up patches we’re working on
  • @mukesh27: Working on
    • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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. follow-up: WebP compatibility: add fallback for non-supporting browsers to cor and Add the new source data to the media 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/. endpoint – PR #3025
    • Add the original image’s extension to the WebP file name to ensure it is unique – PR #444
    • Enhance JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. replacement mechanism for WebP to JPEG to more reliably replace full file name – PR #443
  • @mehulkaklotar: Working on core patch for support of multiple mime types on image edit/restore flows. PR link
  • @pbearne: Seeing some pushback on dominant color proposal; comments would help
  • @joegrainger: Module proposal: Regenerate existing images
    • @joegrainger: Looking to create a new Settings screen to allow administrators to regenerate images to help with performance. Also creating background infrastructure to handle long-running tasks which will be used by the regenerate images job. This will allow users to regenerate images to the correct sizes when changing a theme and to create WebP versions of older images too.
    • @pbearne: Hoping that the background processing infrastructure is open for calling by other plugins, a bit like scheduling a cron task
    • @joegrainger: That’s the plan; the background processing infrastructure is decoupled from the regeneration of images, so it can be used by other plugins for running their own background jobs
    • @zero4281: Love the idea of being able to regenerate images at the click of a button. Has anyone given thought to updating 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/ once the picture 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.), image srcset, and image regeneration is complete? In theory it should be possible to remove the need for the user to select an image size and just include all image sizes in the srcset and let the web browser choose the size.
      • @flixos90: Great points; updating Gutenberg editor content would be a potential use case for the background process. With image size selection, there’s still value depending on how you place the image.
      • @zero4281: Doesn’t Gutenberg define the width and height in the image tag?
      • @flixos90: If the user resizes it, but by default, it takes dimensions from the image size selected
    • @furi3r: Wouldn’t Action Scheduler do the trick?
      • @joegrainger: Took a lot of inspiration from this 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 made some changes, but background processing infrastructure will work similar to this
    • Received 7 thumbs up votes to proceed with this module, so we’ll get started
    • @flixos90: Make sure to develop this in a feature 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". as it will be quite large
    • @spacedmonkey: Might also be useful for dominant color as well, to backfill old images

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here 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.” 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/.
  • @furi3r: Working on Site Health TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket feedback; not much, so hopefully will be able to merge soon
  • @shetheliving: Will discuss new module proposal issue from @olliejones for Database Performance Health checks #455 next week

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • @shetheliving: Reminder about the performance testing environment work started back in March: https://make.wordpress.org/core/2022/03/22/performance-team-meeting-summary-22-march-2022/. This has stalled out since then; if anyone is interested in picking it back up, let us know.

Feedback requested

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/.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

#core-js, #core-media, #performance, #performance-chat, #summary

#hosting-community