Performance team meeting summary 9 August 2022

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

Announcements

  • @mxbclang: Team Rep elections
    • We’ll follow the process previously used by the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, outlined here
    • Bethany will add a nominations post to https://make.wordpress.org/performance/ this week

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Working to complete several follow-up patches for WebP support. A couple of small fixes were committed last week, and the remaining patches are on track to land in the next week. The Pull Requests section at the top of https://core.trac.wordpress.org/ticket/55443 is a good way to check progress, since follow-up patches are boing worked on in PRs linked to this ticketticket Created for both bug reports and feature development on the bug tracker..
  • @mukeshpanchal27: Working on:
    • Core 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 core – PR #3034 ready for review
    • 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 – Merged in 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
  • @erikyo: Noting that WebP conversion feature currently only works for JPGs, but in the future hope to also use PNG with Performance Lab and maybe a way to 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. the input format is needed
  • @adamsilverstein: If you used the mapping to create WebP from PNG uploads, the replacement code won’t work. We should be able to address, though our initial implementation is focused on JPEG > WebP. @erikyo will comment on the linked PR for further discussion.
  • @mehulkaklotar: Working on core patches for WebP uploads, ready for review: https://github.com/WordPress/wordpress-develop/pull/3030 and https://github.com/WordPress/wordpress-develop/pull/3048. Also working on https://core.trac.wordpress.org/ticket/45471 to allow caching of parse_blocks results.
  • @joegrainger: Working on plans for regenerate existing images module
  • @mxbclang: Should have a core feature proposal up for this in the next week

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey out through 5 September
  • @tillkruess: Merged two PRs last week: https://github.com/wordPress/wordpress-develop/pull/2967 and https://github.com/WordPress/wordpress-develop/pull/2969
  • @pbearne: Not sure where the dominant color proposal is going, do we have the support to get it into core? Want to make sure it’s moving along
    • @flixos90 to review PRs this week, but welcome others too, as well: https://github.com/WordPress/wordpress-develop/pull/2907 https://github.com/WordPress/wordpress-develop/pull/2906
  • @itmapl: Interested in resolving https://core.trac.wordpress.org/ticket/32052; PR is here: https://github.com/WordPress/WordPress/pull/610. Open to comments on the solution so we can move forward.

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/.
  • @mxbclang: Discussion in #326 Update Settings language for health checks. #423 about naming conventions; @olliejones will update the PR
  • @furi3r: Working on porting Site Health modules to core and there’s some new feedback in https://github.com/WordPress/wordpress-develop/pull/2890 and https://github.com/WordPress/wordpress-develop/pull/2894 which is raising some concerns:
    • Asking to move Object Cache Check to Async test. Should we do this on the plugin level first and then move it to core, or directly there?
      • @mxbclang: Thinking we should update in the plugin first, then port to the core PR once it’s merged; @flixos90 agrees
    • Use of custom filters, instead of using site_status_test_result filter.=
    • Asking to remove the color scheme we have used for alerts (green, yellow, green), and instead use same one for label (performance uses blue)
    • @adamsilverstein: Looks like valuable feedback on the PRs, suggest keep working there with @clorith and others to find a good solution
  • @olliejones: Still looking at the SQL database health checks. Pretty sure we can check for misconfigured/slow/ancient MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/./MariaDB, but none of this is actionable by a site owner. Do we want to proceed with health checks that aren’t actionable by “typical” users?
    • @mxbclang: Based on our discussion last week, seems like no – we want to focus on health checks that are actionable by typical (i.e. not developers, not ops people) users
  • @olliejones: Is there any way to move forward with MySQL optimization work in a way that can make it to core eventually?
    • Have a bunch of SQL server tests that say “ask your hosting provider to…” – should we abandon those?
      • @mxbclang: Those are okay because they provide an action that anyone can take, asking their hosting provider@flashusb agrees
      @zero4281: Does the Health Check module have hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. to add in additional more advanced health checks? If it did, Ollie could add those checks to his custom plugin
      • @flashusb: Yes, there is a hook to add custom checks, not a separate tab though
      @furi3r: Agree we should expand Site Health use to more technical users, maybe a new tab? If we want to achieve bigger results, we shouldn’t limit ourselves
      • @ankitgade: Could be a separate tab, something like “Advanced Site Health Check”
      @olliejones: Would be great to find a way to address these MySQL optimization issues, maybe the Woo team should address it?
    • @johnbillion: Did you move the MySQL optimization work to your plugin?
      • @olliejones: Yes, been in the plugin for over a year now. Can add custom health checks just like Yoast did.
      • @johnbillion: Think the best approach is to continue work in the plugin, including the health checks, and propose any changes that need to be made in core to facilitate them
      • @olliejones: There are possible core changes but they’re very difficult to pull off because many users are still stuck on MySQL 5.5
      • @johnbillion: Happy to review the plugin and help create performance benchmarks for the changes

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
  • @mxbclang: 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

  • @adamsilverstein: Resource preloading landed in https://core.trac.wordpress.org/ticket/42438. Some follow-up work for this work includes considering a more declarative 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. (currently it is implemented as a filter) and first party usage, e.g. applying preload to core resources in both wp-adminadmin (and super admin) and (core) themes

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Notable PR is https://github.com/WordPress/performance/pull/458, which enhances plugin uninstall to better support multisite. Next Performance Lab 1.4.0 will be released on Monday; please finalize any PRs by tomorrow.

Feedback requested

Open Floor

  • @mxbclang: I’ll be offline on medical leave August 22 through September 9; please ping @flixos90 or @mukesh27 during that time if you need help with anything
  • @alaca: SVG uploads
    • @alaca: Would like to discuss possible approaches. The idea to allow only static XML files for now is great, but I think we can do more – which depends on the approach we want to take when detecting the dynamic file. Two possible approaches:
      • 1) We have a list of keywords that shouldn’t be in the document, we can just check that, and prevent document upload if we find something inside the document
      • 2) Parse the document to see what’s in there, but then we have an opportunity to do more, such as sanitization.
    • @alaca: Each one of the third party solutions out there is using the same library for SVG sanitization; it’s great and battle tested. Want to use the same approach and simplify the implementation a bit with one simple class.
    • @olliejones: Are there exploit vulnerabilities stemming from parsing XML?
    • @masteradhoc: Want to be able to upload any SVGs that I have and have WP sanitize them for me if there’s an issue
    • @erikyo: I use a completely different approach in https://github.com/erikyo/OH-MY-SVG; they aren’t stored in the Media Library, but there are advantages like being able to edit them
    • @masteradhoc: Think not having them in the Media Library would be confusing
    • @erikyo: If they’re stored in the Media Library they can be processed by ImageMagick

Our next chat will be held on Tuesday, August 16, 2022 at 11am EDT in the #core-performance channel in Slack.

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

Performance team meeting summary 2 August 2022

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

Announcements

  • @mxbclang: 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

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/.
  • @olliejones: #326 Update Settings language for health checks. #423 is ready

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
  • @mxbclang: 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

  • @flixos90 out
  • @mukeshpanchal27: Worked on:
    • Fix unexpected input Warning message during release build/test process – PR #437 needs review; @adamsilverstein to test
    • Use PERFLAB_MODULES_SCREEN constant – PR #463 ready for review

Feedback requested

Module proposal: Database performance Health Checks – @olliejones

  • @olliejones: Proposing a total of eight separate health checks that cover a variety of database issues; more details and mockups here. These would all be in one single module.
  • @mxbclang: Any issues with having these all in one module as opposed to separate, as we’ve done previously with health checks?
  • @adamsilverstein: Not an issue, but concerned about the recommendations for adding keys and if they would be actionable by users
  • @olliejones: The add-keys actions are presented as 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/ commands with a copy-to-clipboard function
  • @adamsilverstein: Right, but what percentage of WP users know what WP-CLI is and use it?
  • @masteradhoc: Important to describe these very well as they’ll be hard for everyone to understand
  • @mukeshpanchal27: Are there other ways to add keys outside of CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.?
  • @olliejones: I have a 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 that does this re-keying
  • @mxbclang: Unfortunately we can’t point users there
  • @olliejones: What about a separate module for the health checks that generate CLI commands?
  • @adamsilverstein: Goal here is to build features for core, which means they have to help the majority (80%+) of users, so anything that is specifically for very large sites or uses CLI is plugin territory, not core
  • @zero4281: Since query speed is dictated by rows in a table, can we only display a health check if a site has a certain number of posts/rows?
  • @mxbclang: Since everything in Performance Lab should eventually be merged into core, the CLI-related health checks probably should not be in this plugin
  • @adamsilverstein: Focus on the existing warning to make sure it is “site owner” targeted and maybe drop the keys check entirely. For the advanced part, maybe create a concise guide for the developer handbook to cover important approaches
    • Could be in https://wordpress.org/support/article/optimization/#database-tuning or perhaps on our Performance site
  • @seedsca: What is wrong with WP-CLI? It’s a great tool
    • @adamsilverstein: Agreed, it’s just that it’s not something an average WP user knows about or how to use
  • @mxbclang: VOTE: Do we want to proceed with this proposal as-is, with all eight checks, including the CLI-related ones?
    • At time of meeting, 6 no votes and 1 yes vote
  • @mxbclang: Next step is for @olliejones to revise the proposal to indicate which checks would be included/removed to proceed. Once that update has been made, we can discuss again in a future chat.

Our next chat will be held on Tuesday, August 9, 2022 at 11am EDT in the #core-performance channel in Slack.

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

Performance team meeting summary 26 July 2022

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

Announcements

  • @mxbclang: 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
  • @mxbclang: 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
  • @mxbclang: 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

Performance team meeting summary 19 July 2022

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

Announcements

  • @mxbclang: Our new blog is live at https://make.wordpress.org/performance/! How should we use this moving forward?
    • @flixos90: Thinking we continue to post meeting notes, etc. on CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and cross-post them to Performance
    • @pbearne: Could we use it for articles about performance best practices?
    • @flixos90: Main purpose is to have a single entry point for everything and a handbook for onboarding and best practices
    • @flashusb: Could we have an Email Updates widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. like the other blogs?
    • @flixos90: Would be great to have a sticky at the top explaining that the blogblog (versus network, site) is primarily for cross-posting and link to where most of our content is, including https://make.wordpress.org/core/tag/performance/, https://make.wordpress.org/plugins/tag/performance/, and https://make.wordpress.org/themes/tags/performance/
    • @ollliejones: Can it serve as a place for “more details” articles or site health check results?
    • @flixos90: More about contributing to the team and what the team is doing
    • Moving forward, we’ll continue to post agenda and notes on the Core blog and cross-post to Performance
    • @mxbclang will draft a sticky post for the Performance blog and look into an email updates widget in the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

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: Posted feature proposal for Audit Full Page Cache and Full Page Cache Site Health Checks last week; no feedback yet
  • @spacedmonkey: How long do we wait for feedback? https://github.com/WordPress/wordpress-develop/pull/2890 has been approved by two core committers so could be merged ASAP
  • @flixos90: We’re not in a massive rush, wait 2 more weeks for feedback and then merge
  • @spacedmonkey: Won’t be around, so someone else will need to merge

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
  • No updates

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

  • @flixos90: Published 1.3.0 yesterday and broke 7k active installs for the 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
  • @mukesh27: A few PRs that need review:
    • Fix unexpected input Warning message during release build/test process #437
    • PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS.: Use a period at the end #436
    • Add constant for plugin_dir_path #429

Feedback requested

Open Floor

  • @mukesh27: How about a weekly Bug Scrub for the performance channel for performance-focused TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets? We have a total of 326 right now
    • @mxbclang: Was this intended to be a weekly scheduled meeting?
    • @mukesh27: Yes, if possible
    • @spacedmonkey: There are lots of core issues that are impossible to fix in the plugin and need to be fixed in core
    • @flixos90: Yeah, probably most Trac tickets should be fixed directly as core patches; only tickets that need to be implemented as bigger features should become plugin modules. Always depends on whether core has the necessary integration points to handle that or not.
    • @mxbclang: Weekly may be tough, how about monthly? Let’s start with the first Wednesday of the month at our regular meeting time, so our first one would be August 3, 2022, at 15:00 UTC

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

#hosting-community

Performance team meeting summary 12 July 2022

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

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @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

Site Health

N/A

GitHub project

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
  • @mxbclang: 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

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

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
  • @mxbclang: 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

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

#hosting-community

Performance team meeting summary 5 July 2022

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

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

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
  • @flixos90: Blogblog (versus network, site) post for Make about the plugin checker proposal should go live this week

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

Open floor

Help wanted

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

#hosting-community, #tide

Performance team meeting summary 28 June 2022

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

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

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 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; also pinged the Site Health maintainers to keep them in the loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.

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
  • @flixos90: Working on a blog post for Make about the plugin checker proposal

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

  • @mxbclang: Submitted a new PR to update our GitHub Workflow doc with clarification around adding milestones or no milestone to issues and PRs
  • @flixos90: Released 1.2.0 last Tuesday. Found a few minor Infrastructure bugs during the release party (first three issues in this list, one of which already has a PR). @mukesh27 is also working on Implement mechanism to not load module if core version is available #390, which will give modules control about whether they should load based on current environment factors in a way that makes it apparent to users
    • @olliejones: One factor to keep in mind is MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/./MariaDB version
    • @flixos90: New infrastructure is primarily checking to see if something is in and loading via core, so it shouldn’t be loaded via 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 – but it’s agnostic, so it could check those things
  • @spacedmonkey: Should we run PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher unit tests against different versions of PHP?

Feedback requested

New module proposal: Performance-oriented indexing for WordPress database tables

  • @olliejones: Request reviews of the proposal, specifically the Decisions to make section:
    • Unlike other modules, this one needs at least some dashboard user interface, to initiate the reindexing of the tables, and to complain if the tables use legacy storage features (MyISAM, COMPACT row format). Where do we put that user interface panel?
    • Experience shows that the POC plugin’s 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/ access is necessary on large sites to do the reindexing without timeouts. Should performance lab get wp-cli access? How about using WP_Cron?
    • What should the module do on multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations?
  • @olliejones: This is a bit different from the existing plugin modules because it initiates an operation that might run for a long time – several minutes on a big site. WP-CLI has been very useful in proof-of-concept plugin and could use advice on how to proceed. Wonder if this should be run by the hosting community?
  • @spacedmonkey: Worth sharing with the hosting community channel?
  • @flixos90: Adding a UIUI User interface shouldn’t be a concern for a Performance Lab module; Site Health is almost all UI. Feels like UI would probably be under Tools somewhere. Would it be technically possible to do this spread out through multiple web requests?
  • @spacedmonkey: Might need Site Health warning saying indexes are not in place
  • @olliejones: There’s a single ALTER TABLE SQL statement for each table and we need to add/drop all indexes in a single statement. Slowest/biggest table is usually postmeta.
  • @flixos90: How long would executing this query typically take? If too long, can this SQL statement be sent in a non-blocking way for the PHP process?
    • @olliejones: Overall, a few minutes for a postmeta table with a couple of megarows. PHP’s SQL support doesn’t have any fire-and-forget or threading that I know about.
    • @flixos90: If that’s true, not sure this would be feasible for core given they take so long to execute. My concern would be PHP timeout. If SQL execution takes several minutes, an AJAX request won’t work for most sites.
    • @flixos90: Realistically we wouldn’t be able to send an AJAX request and in that request complete the execution of the SQL statement?
      • @olliejones: AJAX and/or WP Cron might work, but the AJAX request won’t finish until after ALTER TABLE finishes
  • @pbearne: For core these could run only for new sites and be worth it
    • @spacedmonkey: Could adding indexes to new sites be a start?
    • @flixos90: If we can determine support on site creation and do it only for new sites as applicable, could still be beneficial without having those concerns from slow SQL queries
  • @furi3r: How does WooCommerce do it? They run big DB updates on upgrades
    • @olliejones: AFAIK, they’re in batches, but we can’t do that for reindexing
  • @spacedmonkey: See this as two problems: old sites vs. new sites. Changing schema for newly created sites is more simple
    • @olliejones: Agreed, but old sites are the ones that have the huge pain points
  • @olliejones: Plugin already has the WP-CLI stuff, could that be put into a Performance Lab module?
    • @flixos90: Since Performance Lab is for future core features, a WP-CLI command doesn’t qualify. Would potentially be a good contribution for the WP-CLI project, though. If we want to build something into core, it needs to work through what core offers, e.g. UI-triggered, AJAX, Cron, etc.
  • Will pick this back up next week

Help wanted

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

#hosting-community, #tide

Performance team meeting summary 21 June 2022

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

Announcements

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Reviewing the hosting survey results and WebP-related research and drafting a follow-up post about next steps on WebP to be shared soon. Also following up with the WebP team to better understand the quality data that we are seeing in our research in Optimize compression levels for WebP, test file sizes vs. JPEGs #7.
  • @eugenemanuilov: Addressed code review feedback for the fallback images POC; if anyone can test on their end using old browsers that don’t support WebP, that would be much appreciated
  • @mukesh27: Awaiting feedback from @flixos90 on Discard WebP image if it is larger than corresponding JPEG image #372
  • @joegrainger: Been working on some documents that are nearing completion for modifying WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. image functions to support multiple mime types and introducing bulk regenerate image sizes functionality into WordPress core
  • @mehulkaklotar: Working on a proposal for API to facilitate more accurate “sizes” attribute #140
  • @spacedmonkey: Dominant color functionality will go out in 1.2.0 today. XWP team is already thinking about making a core 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. and improving the functionality. Some improvements are in this PR.
    • @flixos90: Would be great to start with a feature proposal on Make to get additional feedback ASAP from a wider audience. Now is a great time as people will be able to test with 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.

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 Slack
  • @mxbclang: Added new autoloaded options section to the Optimization doc and will create a PR to link to it in the autoloaded options Site Health report when ready. Also attended documentation trainings last week and now have edit access for docs, so feel free to loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. me in if you need help there.
  • @mukesh27: PR #380 is ready to merge; @spacedmonkey merged

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
  • @flixos90: Working on a blogblog (versus network, site) post for Make about the plugin checker proposal; should be ready to post early next week

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

6.1 release plans

  • @furi3r: Are we thinking of porting some of the modules to core for 6.1, specifically Site Health?
    • @furi3r: Full page cache is not experimental, but fairly new. Autoloaded Options could be a good candidate if we can get the documentation updated.
    • @spacedmonkey: Would love to see Autoloaded Options in 6.1
    • @flixos90: We can get Object Cache and Full Page Cache in 6.1 if we move them forward, but the other two are more of a stretch. Reminder to review the lifecycle of a performance module doc if you haven’t already.
    • @spacedmonkey: Should we create TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets for each of the Site Health modules?
      • @flixos90: That would be good, but main thing is feature proposals
      • @spacedmonkey: Do these even need feature proposals, as additions to an existing feature?
      • @flixos90: Depends on how you frame it. I think they’re large enough to justify feature proposals. Mostly critical to get more feedback around the heuristics being used to determine if a check is “passed” or not.
      • @spacedmonkey: Since they’re small, maybe multiple in one post?
      • @flixos90: For related ones, maybe. Some are larger, e.g. Object Cache and Full Page Cache, and should be their own posts.
      • @spacedmonkey: What about the WebP check? Is that part of the WebP core merge?
      • @flixos90: It’s a bit decoupled, but should go in with the WebP feature if not sooner.
    • @flixos90: Who here can work on getting some of the other Site Health modules and/or dominant color merged into core?
      • @spacedmonkey will work on dominant color
      • @furi3r will work on a Make post about the Object Cache and Full Page Cache Site Health checks and @mxbclang will help
    • @mxbclang: Tentatively aim to include Autoloaded Options check in 6.2 pending docs

Open floor

Help wanted

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

#hosting-community, #tide

Performance team meeting summary 14 June 2022

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

Announcements

  • @flixos90: Formal team proposal
    • Given our successes so far (5K+ 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 installs, lots of great feedback at WCEU, etc.) now is a good time to formally propose our initiative as a proper Performance Team
    • This would get us our own site on make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ and an entry on the top-level site
    • Feel free to ask any questions or share your thoughts on this plan in the comments
    • @spacedmonkey: Does that mean there will be “official” team members and leads?
    • @flixos90: We’ll have to see; not sure if that’s a requirement for a formal team
    • @tweetythierry: We currently have the GitHub members list, which we may use as a source of truth
  • @mxbclang: Our next release, 1.2.0, is scheduled for next Monday 20 June, which is a US holiday, so we think it would be best to move to Tuesday 21 June and have the release party in the #performance channel on June 21, 2022 at 1pm EDT
    • Asked for a thumbs up vote to approve this shift; received 8 thumbs ups so release will be moved

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

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

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
  • @flixos90: Update on plugin checker proposal
    • Most important decision to make soon is which approach to follow for this project
    • Things to consider:
      • Focusing on static analysis only is probably a no go, as so many aspects of performance can only be detected at runtime.
      • Server-side analysis is a solid approach as it allows for runtime checks, and we could still easily include static analysis as part of that approach.
      • Client-side analysis certainly gives the most flexibility to also include e.g. browser optimization related checks, but it also requires either a public site to be spun up or a headless browser setup, which can be tricky to have on certain environments.
    • See this as building with two potential use cases in mind:
      • For plugin developers to integrate with their own development workflows, e.g. in a 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/ action
      • For the wordpress.org plugin repository to run it on plugin submission (potentially in some reduced capacity, i.e. only a subset of all checks that they consider most valuable)
    • @spacedmonkey: Wonder if we can use my ideas from a plugin like Query Monitor, like detecting duplicate queries, slowing running queries, or query counting. For example, WooCommerce adds over 100 queries to page load.
      • @flixos90: Discovering things like that would definitely be helpful and Query Monitor is a useful tool that we reuse parts from
    • @mitogh: Do we have an idea of which metrics would be considered baseline to “pass”?
      • @flixos90: Would be less of a general “pass” vs. “fail,” but more a ton of individual checks that can pass, create an error, or create a warning, like PHPCodeSniffer
    • @flixos90: One project that we should probably research more is the latest automated theme testing tool mentioned here. Current take is that we should primarily focus on a server-side approach that’s built with client-side extensibility in mind.
    • @johnbillion: I’ve considered splitting some parts of Query Monitor into Composer packages but don’t have capacity right now, happy to assist though where necessary
    • @flixos90: One more step that @mikeschroder pointed out is that we should share this proposal with a wider audience, including the plugin review team; will share shortly and also plan to publish a post on Make

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

Open floor

Help wanted

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

#hosting-community, #tide

Performance team meeting summary 7 June 2022

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

Announcements

@mxbclang

  • Huge thank you to everyone who participated in any way in our work at WCEU! Feedback was extremely positive and we have lots of new people who are interested in contributing
  • Our weekly chat is held in the #performance channel on Tuesdays at 15:00 UTC and our GitHub repo is here; feel free to take a look at open issues and add new issues
  • You can watch @flixos90‘s talk from WCEU here

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Site Health

N/A

GitHub project

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
  • No updates

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

  • @aristath (async): Working on ways to apply some tree-shaking to 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. styles. Created a proof of concept in Tree-shaking block styles on the frontend #41020 and would appreciate feedback. Also working on an alternative method which would not require 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. changes to block.json, but worried about server-side performance. Current implementation in the POC is far from perfect but enough to be a good conversation starter to move this forward.

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open floor

  • @clarkeemily: Working on collating photos and stories from WCEU and will share with the wider group soon

Help wanted

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

#hosting-community