Performance Chat Summary: 5 December 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects and link to the GitHub project board

Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha

  • @joemcgill #58196 has a PR that could use another set of eyes, but can probably be committed. However, turns out this does not solve a big performance issue, but instead the parent function needs to be looked into instead.
  • @swissspidy For i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. performance I am nagging people for code reviews again at the moment. Otherwise there hasnโ€™t really been any progress.
  • @joemcgill I was reviewing #55595 earlier today, and noticed that 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. registration itself does not really account for much of a performance cost, but rather rendering widgets that can be costly. I think we can likely close that ticketticket Created for both bug reports and feature development on the bug tracker. as `maybelater` but would like a 2nd opinion.
    • Additionally, I noticed that you can already use the `load_default_widgets` 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. to keep WP from loading default widgets, but doing so will cause a fatal if you donโ€™t also unhook `wp_widgets_init`, because that function will try to register the default widgets even if they havenโ€™t been loaded. This seems like a 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., although not a critical one.
  • @thekt12 Removing call toย build_template_part_block_variationsย on the fontend showed a decent performance improvement -> https://core.trac.wordpress.org/ticket/59969#comment:8 Additionally we did identify two more palaces where the same improvement could be made. Currently I am addressing PR review comments.

Database Optimization

Link to roadmap projects and link to the GitHub project board

Contributors: @mukesh27 @thekt12

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 and link to the GitHub project board

Contributors: @mukesh27 @flixos90 @westonruter

Images

Link to roadmap projects and link to the GitHub project board

Contributors: @flixos90 @adamsilverstein @joemcgill @pereirinha @westonruter

  • @westonruter Pull request forย applying the image optimizationsย is in review and nearing merge (to the 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".)
    • I also have sub-PR opened which makesย breadcrumb processingย more reliable. (In other words, an XPath for a given image that needs optimization.) Also ready for review.
    • Now that the feature is fully functional Iโ€™m going to add test coverage (which I neglected before getting a working prototype in place).
    • I also want to extend the existing logic to also handle CSS background images, whereas currently onlyย imgย elements are optimized.
    • Iโ€™ve also started filingย issues under the moduleโ€™s labelย for areas where others can contribute.
  • @joemcgill Still working on a proposal for improving the defaultย sizesย implementation in WP using available layout data. Also, seeing some progress being made on the browser side implementing the new auto sizes HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. spec, which would be a huge improvement for WP, since we lazy-load many images by default.
  • @swissspidy As for images, I have been looking a bit more into client-side image compression (in 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/) lately to see where this could fit in 2024 plans.

Measurement

Link to roadmap projects and link to the GitHub project board

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • No updates this week

Ecosystem Tools

Link to roadmap projects and link to the GitHub repo

Contributors: @mukesh27 @swissspidy

  • @swissspidy No update either from my side, though I just published aย small blog postย to help spread the word a little bit about 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. Check

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27

Open Floor

Our next chat will be held on Tuesday, December 12, 2023 at 16:00 UTC in the #core-performance channel in Slack.

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

Recap: WordPress 6.4 โ€œShirleyโ€ Retrospectiveย 

This post summarizes the feedback received from the WordPress 6.4 retrospective. Thank you to those who contributed their feedback via the retrospective survey and comments on the post.ย  For ease of reading, feedback has been synthesized. Full feedback is available for review in the anonymized form responses and comments to the original post.

Please remember that the following feedback are suggestions to bear in mind for future releases rather than action items for implementation.ย 

What would you keep?

  • The Community needs/โ€œwishlist.โ€
  • Blogblog (versus network, site) post per new feature or major change, e.g., performance improvements or the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Tag processor.ย 
  • Release team formation and announcement during the previous release cycle for easy coordination.
  • A 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/ channel per release focus.
  • Having a co-lead per release focus to allow for complimentary time-zone coverage.ย 
  • Weekly health checks.

What would you add?

  • Additional minor releases between majors.ย 
  • Iteration on Twenty Twenty-Four for Twenty Twenty-Five to reduce fragmentation.ย 
  • Earlier merging of stable 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/ features into WordPress 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..ย 
  • Equal focus on old tickets and 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. fixes with new features.
  • Feature the Pattern Directory in the 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. Editor.
  • A dedicated session in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for testing the release.ย 
  • A focus on cohort involvement for sustained contribution beyond a 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.โ€™s development cycle.ย 
  • More underrepresented release squads and opportunities for synchronous meetings in different time zones.ย 

What would you remove?ย 

  • Underrepresented release squads.ย 
  • Minimum Core code contribution for Editor Tech role.
  • Increased documentation and training for new contributors to the release process.
  • Allow only โ€œblessed tasks,โ€ with enhancements/features that have received a first commit before 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 to continue to Beta 2 et al.

How did the collaboration feel?

This section included ways for one to indicate how much they agreed or disagreed with a statement around collaboration.

Would you like to be part of future release squads?

  • 16.7%: I havenโ€™t been part of the squad but I would like to try in the future.
  • 8.3%: I have been part of a release squad and I will gladly repeat.
  • 41.5%: I have been part of a release squad before and will do so again, although maybe not next year.
  • 8.3%: I am reluctant to participate again, but I would be open to it if responsibilities and processes were clearer.
  • 8.3%: Maybe later, Iโ€™m not sufficiently experienced yet.
  • 8.3%: I have been part of a release squad and would like to repeat, but unfortunately I donโ€™t have the time for near/midterm future.

Takeaways and next steps

  • Respondents felt that following the development cycle as a new contributor was challenging.
    • Future WordPress Contributor Mentorship programs will mirror major releases so new contributors have mentored experience with ample documentation and support to find contribution onboarding opportunities.
  • The shorter development cycle, while previously requested, felt too short for ample feature development and testing.
  • 6.4 was, for all intents and purposes, a success in bringing underrepresented gender voices, skill sets, and points of view into WordPressโ€™s development cycle. 2024 will not include specific release squads to allow for more broad contributor involvement.
  • Maintenance will be one focus alongside new features for the WordPress 6.6 release in response to a call for more maintenance in major releases.ย 

Props to @priethor and @chanthaboune for reviewing this post.ย 

#6-4, #retrospective

Proposal: Default Theme Task Force for 2024

In May, a proposal was published with a suggestion to retire some of the older, lesser used default themes. With the release of Twenty Twenty-Four, there are now 14 default themes maintained by the project, making it difficult to effectively maintain all of them. Additionally, retroactively adding support for new 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. editor features is important to ensure that users can unlock the power of the block editor while using these themes. This is becoming increasingly harder to do in a timely manner with the high standard of quality our users deserve.

After some good discussion in the comment section, Matt (@matt) joined in and clarified that the original intention for each default theme was to maintain them forever. He issued a challenge to rethink how the team approaches the maintenance of these default themes to make them easier to maintain, and more future-compatible.

In response to that request, I submitted โ€œImproving the maintenance of older default themesโ€ as a topic for the Community Summit in August. This topic was accepted, and a fantastic session took place with many of the top theme-focused contributors from the community in attendance.

I highly recommend reading the raw notes in their entirety before responding to this proposal and participating in this discussion, but for the sake of including the context of the important takeaways from that discussion, here are next steps and potential action items that were identified:

  • Consider having a Theme Wrangler for every release.
  • Explore moving default themes to 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 by the repository owner. https://github.com/ (with sync to SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase.), moving only the most critical issues from tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. to move over.
  • Explore creating style variations and patterns based on past default themes, as a way to โ€œblockifyโ€ the older themes.
  • Explore setting up visual 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. testing for default themes
  • How do we improve the feedback 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 from people building themes in GB?
  • Improve default theme docs.

All of these are reasonable next steps and worth exploring further as potential changes. However, after considering this topic some more and discussing with @chanthaboune, itโ€™s become clear that the first step to any solution to this problem is cleaning up after ourselves. At the heart of the problem is not a tooling or philosophy problem, itโ€™s a bottleneck of available contributor time with an interest in supporting these themes.

At the time of publishing, there are 436 open tickets in the Bundled Theme component, 53 of which have not received any response. This list of outstanding tickets needs to be properly groomed and addressed before any tooling changes can be considered.ย 

Creating a Theme Task Force

This post proposes the creation of a contributor working group with the goal of tackling the Bundled Theme component ticketticket Created for both bug reports and feature development on the bug tracker. backlog, focusing on one or two themes at a time and using their best judgment to:

  • Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. the list of open tickets for the Bundled Theme component.
  • Address bugs in a future-proof way.
  • Individually evaluate enhancements and feature requests, closing any that are no longer relevant or not supportive of project priorities.

One criticism of how default themes are maintained has been that updates are always released at the same time as WordPress major and minor releases. After researching and investigating why this is the case, no specific reasons were discovered that indicated this is a requirement.

Recently, there have been a few occasions where updates to default themes were released independent of WordPress ones, and these have gone quite well. It is recommended that this practice continues as a part of this proposal in an effort to more efficiently progress through this large backlog of tickets. Theme updates can be released as often as necessary. Theme updates accompanying WordPress major and minor releases are not barred, but rather welcome when deemed necessary as supplemental to any other updates published by this group.

While each theme receives increased individual attention, the state of support for the block editor and all of its features will be audited and evaluated.

Once this ticket list is under control, further discussion can be had around potential tooling changes (GitHub vs SVN), frameworks or methodologies that can be implemented to make maintenance easier, etc.

Summary & Volunteers

In total, default themes account for over 10% of all WordPress installs. While some are less used, the active sites for each of them represent site owners and end users that deserve our attention and consideration. In order to better support them in a future compatible way unlocking the block editor, this house keeping initiative is a necessity.

If this initiative speaks to you and piques your interest, please reach out directly on WordPress.org Slack instance or Matrix homeserver to @desrosj or @chanthaboune, or volunteer in the comments below.

Props @chanthaboune for pre-publish review.

Performance Chat Agenda: 5 December 2023

Here is the agenda for this weekโ€™s performance team meeting scheduled for Dec 5, 2023 at 16:00 UTC. If you have any topics youโ€™d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, youโ€™ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Nominations for Core Team Reps: 2024 Edition

Updates:

  • December 14, 2023: extended the deadline to January 12, 2024.
  • January 16, 2024: extended the deadline to January 31, 2024.

Nominations are now closed.

This post kicks off the formal election process with a call for nominations for the 2024 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps. For 2023, Tonya Mork (@hellofromtonya) and Abha Thakor (@webcommsat) have served as the elected Core Team Reps.

The Roles

In the WordPress open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project, each team has on average one or two representatives, abbreviated as reps.ย For the historians out there, the roles goes way back to 2012.

Historically with the Core team, the team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. duration was around a year, though some reps stuck around longer if there was a particularly good fit.

Anyone who serves as a โ€œteam repโ€ is responsible for communicating on behalf of the Core team to the other contributor groups via weekly updates, as well as occasional cross-team chats. Reps are also consulted on 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://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/, where they help to find someone within the Core team who will be at an event who can lead a Core table.ย Full details on the Team Rep role can be found on the Team Update site.

It is not called โ€œteam leadโ€ for a reason.ย  Itโ€™s an administrative role. While people elected as team reps will generally come from the pool of folks that people think of as experienced leaders, the team rep role is designed to change hands regularly.

This role has a time commitment attached to it of at least a one or two hours a week.

The main tasks include:

  • posting the weekly devchat agenda, hosting the chats, and summarizing them (which can include writing and encouraging others to contribute to the summaries). More details on coordinating devchat are available in the Core handbook.
  • writing regular Core team recaps and posting it in the Updates blogblog (versus network, site).
  • writing the Week in Core post. In 2023, this has been kindly continued to be done with thanks to previous team rep @audrasjb.
  • keeping a watch on the moving parts of the team to report for quarterly updates (example).

How the election works

Please nominate people in the comments of this post. Self-nominations are welcome. The deadline is January 31, 2024 at 23:59 UTC. If there are less than 2 nominees who accepted their nominations, the deadline will again be extended.

Once nominations period expires, then a poll will be opened for voting. It will stay open for two weeks. The new reps will start their role in February 2024.

Disclaimer: if you are nominated, please donโ€™t feel like you have to agree to say yes. The election poll will only include the names of the people who have agreed to be nominated. So feel free to reply with a โ€œThank you, but no thank youโ€.

If you have any questions, please feel free to ask in the comments or speak to the current team reps. Finally for reference, these are the 2020, 2021 and 2022 nomination posts.

Thanks to @hellofromtonya and @marybaum for reviewing this post.

#team-reps

X-post: Embracing Matrix for Enhanced Communication

X-comment from +make.wordpress.org/project: Comment on Embracing Matrix for Enhanced Communication

Summary, Dev Chat, November 29, 2023

Notes from the weekly WordPress developers chat which took place onย Wednesday, November 29, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack.

  • 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/.
  • Props to @hellofromtonya for facilitating the live meeting and @webcommsat for preparing the agenda used.
  • Dev Chat summary from November 27, 2023 โ€“ props to @marybaum for facilitating and the summary.
  • If you can help with Dev Chat summaries in future, please raise your hand in the meeting or let a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. know by commenting on this post.

Announcements

Whatโ€™s new in Gutenberg 17.1

Gutenberg v17.2.0 Release Candidate 1 is out! Letโ€™s get testing.

Highlighted posts

Summary of the Hallway Hangout on the triage extensibility issue

Hallway Hangout: letโ€™s explore WordPress 6.5 โ€“ this will take place on Zoom on Tuesday, January 14, 2024 at 21:00 UTC. All welcome to join, whether it is to listen or participate too. There will be a recording and recap published. The event will be in the form of a free flowing demo/ presentation going through as many 6.5 release priorities as possible. The release has a proposed schedule of March 26, 2024.

No other posts were highlighted during the meeting.

Update from core-editor

This is an experimental new section.

Update on the Core Editor via @annezazu

@annezazu requests some feedback on these topics:

  • please add an emoji (green for good, orange for okay, red for bad) to each point in the slack discussion or comment on this post indicating which topic you are commenting on
  • for anything other than green, feel free to thread a comment in the slack discussion.

Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

Current WordPress release: 6.4

No issues raised.

Updates on the minor releases

@jorbin:ย โ€œI have been chatting with a handful of folks to identify a team to lead 6.4.2.ย Waiting on some responses to DMs, but hope to have a team in place this week. Once that team is in place, the first task will be to identify a time table for the release.ย As of now, itโ€™s unknown if that will be next month or the month after. From my scrubbing of TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., I havenโ€™t seen severe enough to make next month a must release time.

โ€œIโ€™ll also add that I am going to be one of the folks leading 6.4.2 and I intend to get some scrubs started next week either way.โ€

4.x queue:

  • All tickets in the milestone
  • A query of all ticketsย Awaiting Reviewย that are flagged as 6.4 being the version that introduced 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..
  • @hellofromtonya highlighted: Want to help? One way is to triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. the tickets in theย Awaiting Reviewย query.

Next major WordPress release: 6.5

Are you able to help with future bug scrubs?

A number of early scrubs have been scheduled โ€“ Bug scrubs post. The next scrub: December 5, 2023 at 19:00 UTC in the core Slack channel. Can you help with any of the tickets that were discussed at the last bug scrub on November 28, 2023. Some of these tickets require testing. Please add any comments or test results to the actual tickets on Trac.

@chanthaboune thanked those preparing and organizing scrubs, and all involved with discussing tickets.

To help with asynchronous contribution and encourage more people to take part in scrubs, @webcommsat is adding a link to the start of each scrub on the Bug Scrub post.

Tickets or Components help requests

  1. View 6.4 section above for tickets being discussed at bug scrubs.
  2. @jorbin highlighted that Gutenberg PRย 56574ย is proposing changing how synced patterns are edited to require users to leave the post editor to edit them. Additional discussion requested.
  3. @afragen: asked if any additional feedback was available on Trac Ticketticket Created for both bug reports and feature development on the bug tracker. #59448?
  4. @afragen re-requested feedback on #58281. Discussion followed on raising awareness to garner additional feedback:
    • Suggestion was made for a call for testing on Make/core blogblog (versus network, site). @afragen highlighted there has been minimal responses during the past two years plus to calls for testing from the Make WordPress posts for Rollback 1/2. Feedback calls also posted in theย #core-testย channel
    • a Hallway Hangout was suggested if @afragen and @costdevโ€˜s schedule would allow for it. A previous discussion on Slack was highlighted. Running a live session where people can watch it in action, view what needs to be tested, and ask questions could raise greater awareness, testing and feedback. It would enable greater testing for complicated features.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

a) @webcommsat: If any devs familiar with the release are able to work alongside Documentation for reviews on the update to End User docs, you can find the 6.4 HelpHub list in this tracker view.

b) Reminder from last week: Josepha has asked in the Team Reps channel for highlights from the last year. To be inclusive, if you have any item you feel should be included about coreโ€™s achievements or items in progress, please add them to the comments on this post for @webcommsat and @hellofromtonya who are preparing the bullet points to send for core.

b) Nominations for Core Team Reps: 2024 edition โ€“ reshare of the draft post.
There are discussions on shared voting approach and an embedded voting block. This may not be available in time for the current core elections, and other options discussed in team reps, such as, more teams using the projectโ€™s Learn WordPress poll facility for voting rather than a mixture of platforms and personal accounts, and move towards similar processes to especially help new team reps.

Actions:
โ€“ Abha & Tonya: dates to be updated for end of nominations and voting close so the post can be published
โ€“ final proof (tweak of previous posts)
โ€“ set up of the voting tool and host ready for the election post
โ€“ list of what core has achieved this past year to be completed, and the nominations post can link to this to encourage people to stand and support core team as a rep for 2024
โ€“ all: please do consider whether you could stand for the core team rep for next year.

Matrix bridge issues raised during the meeting:

  • thanks all for the reports on Matrix bridge.
  • the reports are being tracked at 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 by the repository owner. https://github.com/ https://github.com/WordPress/Matrix/issues/new/choose2
  • delay in Matrix messages coming through during Dev Chat, and reports of only seeing Matrix messages in Element on macOS, not seeing all the messages that otherwise are likely posted directly to Slack
  • @chanthaboune suggested a testing exercise of the Matrix bridge in a social chat outside of Dev Chat

Props to @afragen for review.

X-post: Create Tours for Make P2s

X-comment from +make.wordpress.org/meta: Comment on Create Tours for Make P2s

Hallway Hangout: Performance End of Year Review 2023

Following up on the prior performance related hallway hangout for WordPress 6.3, and hallway hangout for WordPress 6.4, @flixos90 @joemcgill and @clarkeemily co-hosted an end of year hallway hangout to review the WordPress performance enhancements from 2023, and a look ahead to 2024!

The Hallway Hangout took place atย 2023-12-07 16:00 and the Zoom link was shared in the #core-performance 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/ย channel before starting.

At a high level, we went through the following agenda:

  • Quick intros (what each person does/focuses on)
  • Review of WordPress performance improvements throughout 2023
  • Retrospective sharing field data for the cumulative performance impact of the teamโ€™s work in 2023
  • Discussion around interpretation of metrics
  • A look ahead to 2024 plans

As a reminder, hallway hangouts are meant to be casual and collaborative so folks came prepared with a kind, curious mind along with any questions or items they wanted to discuss around this important area of the project, especially since the agenda was intentionally loose to allow for it.

Noting this specifically for folks who expressed interest previously or who are involved directly in this work cc @hellofromtonya @aristath @oandregal @annezazu @tweetythierry @desrosj @youknowriad @dmsnell @pbearne @swissspidy @westonruter @adamsilverstein @mukesh27 @joemcgill @johnbillion @10upsimon @thekt12 @linsoftware @pereirinha

Recording

Attendees:

@pbearne @joemcgill @clarkeemily @flixos90 @thekt12 @swissspidy @adamsilverstein @westonruterย 

Notes

@flixos90 presented the WordPress Performance 2023 CWV Impact Retrospective slide deck, thank you very much for pulling this together Felix.

Please click the image above to view the slide deck

INP Discussion

@adamsilverstein @flixos90 @pbearne were discussing whether INP mobile scores are due to lower powered mobile devices. The team discussed whether there may be an answer we can find. Mobile passing rate is more of a problem with INP (high chance itโ€™s because of low powered devices). It could be networknetwork (versus site, blog) conditions as well, but lower powered devices likely to be the cause. @pbearne did raise: what would be the fix, low res images? How could we support under-powered devices? @flixos90 commented that for INP specifically itโ€™s about 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. The amount, and how itโ€™s executed, i.e. using a worker thread comes to mind that can improve INP. WordPress doesnโ€™t have support for worker thread. This could be a good opportunity. More about the actual JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. code, reduction of JS code and optimizing JS code.ย 

It was suggested that 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. Checker tool could help with? Are there any optimization tools to help here?ย General consensus is that folks are just not sure. @adamsilverstein mentioned that itโ€™s not just static analysis, these INP issues donโ€™t tend to come up, itโ€™s more in the field when thereโ€™s a lot of JS interacting on the page simultaneously. Complicated layouts also contribute to low INP, DOM layouts โ€” but unsure if this is our problem. Maybe likely to be in the front end, themes. Also in the combination of things, animations, app providers, tracking etc, these things add up and compete for resources on a low powered device. @westonruter shared How to diagnose slow INP in the lab: https://web.dev/articles/manually-diagnose-slow-interactions-in-the-lab.

@flixos90 highlighted 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. (very new and not publicly available) this is the first WP coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. own JS API that is just starting to be rolled out. This would allow plugins to use an API allowed by core, htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. directives, could we improve INP through the interactivity API โ€” great potential opportunity for the future. Static analysis in the plugin checker, could look to pointing plugin checker to interactivity API. Prevalence of cookie consent policies, are these contributing to low INP scores? The team feel this is potentially low hanging fruit as 90% of sites need one now.

@joemcgill mentioned the tricky part here is the big services that provide cookie consent provide their own JS code to drop in the page, integrations would be more challenging. @pbearne mentioned a simple basic one that works would be great. Could it be done in a way where you donโ€™t get penalized in the stats. The team agree this is worth looking into. @pbearne asked if this could this be the case of analyzing the top 20 cookie consent plugins and see if they can be made into a canonical plugin and build from the ground up? However the potentially, tricky thing is building something into core will require extensibility similar to how the privacy policy feature was built, driven by legal requirements that are different in all places. If the extensibility is made too flexible, it may cause more INP problems.

Cost Analysis

@pbearne highlighted that thereโ€™s no tie back to numbers, costs etc in the presentation from @flixos90 โ€” cost of search engines crawling the save in value, cost saving of hosting companies etc โ€” wondered if thereโ€™s a way we can obtain any dollar values against what these performance improvements actually mean. @flixos90 advised that we can try to draw general conclusions but mostly to get real numbers is do individual case studies, maybe there are hosting providers that are happy to share how much LCP improved and what this means for revenue / cost, specific case studies would be the way forward here, it would be difficult to establish this more widely. Maybe thereโ€™s a call we can put out to ask any hosting providers if theyโ€™re willing to do a case study

TTFB Improvements

@joemcgill went on to discuss the second to last slide, idea that we can get more benefit from focusing on FE LCP improvements, the underlying TTFB improvements โ€” this was Joeโ€™s initial gut instinct, websites that care about performance fix TTFB by not hitting WP application at all, using aggressive page caching etc. However, mindful at the fact that WP 6.3 we had 2 big opportunities that had a big impact on client slide: removal of emoji loading script and image loading improvements (the addition of fetchpriority and the lazy loading improvements). Whilst focusing on FE LCP improvements are easier, do we have opportunities of similar scale that would make sense, or are we just driving server side?

@flixos90 added that the difference is that most of client side improvements that we have done are larger efforts, whereas improving server side cut off milliseconds that add up over time. There may be a point where we have no idea what to improve on the client side, but there are a few things mentioned on image sizes attribute is one of them, optimizing how large images are loaded, continuing to optimize fetchpriority and lazy loading are applied, will drive up the passing rate more. Felix added, the main indicator is when we look at mobile, this is where the big difference is happening, when you look at LCP and TTFB together, but LCP in 6.3 was a lot more (probably came from client side improvements predominantly). Desktop TTFB was more visible than mobile. We always benchmark on a desktop machine, so mobile devices are lower powered. Maybe itโ€™s just because for mobile specifically TTFB improvements have a lower role, and itโ€™s more about the device configuration.

@joemcgill went on to ask whether weโ€™re just looking at the % that are getting good scores, rather than the value of TTFB or change in TTFB metric. Could we have made the same amount of improvement as desktop, but not a big enough value to go over the threshold of the passing rate. Felix mentioned he has looked at these numbers as he has assumed the same thing. When you look at aggregated data, there werenโ€™t major improvements in similar ways. Overall scale is still not visible.ย 

2024 Suggestions

@pbearne suggested images, do the amounts of images in the media library impact going through file numbers, orphan image sizes left around โ€” should we have a tool to help clean this up? Some images are left behind from changing themes etc, does this bloat the number of images in the file system? If it does, would a simple tool help remove images that are not current. Here, @adamsilverstein suggested that some regenerate thumbnails plugins, URLs still point to old images if theyโ€™re removed. Thinks everyone has things in folders, if people have them in one giant directory it would impact.ย File loading may not be an image, but one place to look at was maybe the attachments in posts database, when doing lookups etc, maybe there are places we can eliminate here โ€” but suspect this is a small improvement. The remaining images are mostly about storage space wasted and incurring costs. For performance on end users, doubt this has a notable impact.

@pbearne also added that the interactivity API would be a great place to investigate. @flixos90 added we should think for next year what can we do to improve interactivity, facilitate WP sites having more responsive interactions. The new metrics means this is more significant. Load time performance, but split this more to cover interactivity. The team discussed any other intentional research what leads to lower INP passing rate, hypotheses have been created but could do with having confidence in knowing where the problems lie. More research is definitely needed.

@flixos90 continued, what do the TTFB numbers mean for us? This year we have been focused on improving TTFB in core, but thinking about mobile representation, are there other ways we should try to move forward TTFB โ€” what about enhancing APIs to provide more guardrails to plugins, there are a lot of other components to this, could argue that small changes donโ€™t cover lower powered โ€” something core can do better to facilitate caching for more people. Can we unlock caching for sites that have hosts that donโ€™t provide this feature etc. @joemcgill added that we had talked about trying to use the SQLite Database as an object cache for sites that donโ€™t have a better option โ€” could we think on this again?

@flixos90 liked this idea, worth exploring โ€” this would be for object caching, could we use it for page caching? Persistent object cache avoids using database requests, not that significant for overall performance. Full page caching would be more beneficial to focus on.ย Avoiding hitting application altogether could be better. Was looking at full page caching in the CWV dashboard, surprised that the popular caching plugins their TTFB scores are not beating the general WP TTFB numbers, seems counter intuitive. Could we dive into this more?ย Were these plugins specific to having the full page caching, could not be turned on. @adamsilverstein added that we can get a geographical bias, if the plugin is popular in a region with slower internet, itโ€™s not their problem its the users. @adamsilverstein highlighted that you can breakdown on the settings page of the CWV report by geographical region. Could query this in HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. Archive to see if there are patterns. Other considerations are all WP plugins that offer full page caching offer this at the application level, not as good as having the layer at the hosting level.

Concluding Statements

@pbearne raised that as a plugin developer, having good tests or validations that Iโ€™m doing it right, i.e. plugin checker, improving this and helping you recognise where improvements should be made, is something that can improve overall performance. More work in this field would benefit overall, especially if we can do themes as well.

@joemcgill concluded that the team are thankful to Felix for pulling these numbers together, easy to not be able to see the big picture. But really great to see the impact the performance team has made is great to see!

Props to @joemcgill for proof-reading and to @flixos90 for the excellent presentation.

#core-performance, #hallwayhangout, #performance

Dev Chat agenda, November 29, 2023

The next weekly WordPress developers chat will take place onย Wednesday, November 29, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack.

Welcome and housekeeping

All are welcome to join Dev Chat.

Dev Chat summary from November 27, 2023 โ€“ props to @marybaum for facilitating and the summary.

If you can help with dev chat summaries, please raise your hand in the meeting.

Announcements

Whatโ€™s new in Gutenberg 17.1

Highlighted posts

Summary of the Hallway Hangout on the triage extensibility issue https://make.wordpress.org/core/2023/11/27/summary-hallway-hangout-triage-extensibility-issue/

Hallway Hangout: letโ€™s explore WordPress 6.5 โ€“ this will take place on Zoom on Tuesday, January 14, 2024 at 21:00 UTC. All welcome to join, whether it is to listen or participate too. There will be a recording and recap published. The event will be in the form of a free flowing demo/ presentation going through as many 6.5 release priorities as possible. The release has a proposed schedule of March 26, 2024.
More on 6.5 further down the agenda.

Please add any additional highlighted posts in comments.

Update from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor

This is a new section in the agenda as a pilot.

Update on the Core Editor via @annezazu:

In the meeting or in the comments for async contributions, @annezazu asks if folks can please emoji reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org with feedback to give a sense of whether she is on/off track:ย ย = good,ย ย = okay,ย ย = bad. For anything other than green, feel free to thread a comment during the meeting with feedback or link the item and add it to the comments below.

Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

WordPress release: 6.4

Any new issues?

New updates on 6.4.x release team or dates for 6.4.2?

For those who were missing the core contributor profile badge and should have received it after 6.4, profiles have been updated. Slack update. should have it now.

Next major WordPress release: 6.5

Any new updates?

WordPress 6.5 Editor Tasks board is out.

Development cycle page.

Are you able to help with future 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. scrubs? Bug scrubs post. Check out the tickets discussed at the bug scrub on November 28, 2023. Next scrub: December 5, 2023 at 19:00 UTC in the core 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/ channel.

Tickets or Components help requests

Please add any items for this part of the agenda to the comments โ€“ tickets for 6.5 will be prioritized. If you can not attend dev chat live, donโ€™t worry, include a note and the facilitator can highlight a ticketticket Created for both bug reports and feature development on the bug tracker. if needed.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

a) Reminder from last week: Josepha has asked in the Team Reps channel for highlights from the last year, if you have any item you feel should be included about coreโ€™s achievements or items in progress, please add them to the comments on this post for @webcommsat and @hellofromtonya who are preparing the bullet points to send for core. Please do share any comments on this agenda.

b) Nominations for Core Team Reps: 2024 edition โ€“ reshare of the draft post to gather suggestions on timings related to the end date for nominations and the end of the voting period. The voting tool to use and whether an embedded voting block in discussion with other teams would be available for this edition to be finalized.

Please do consider whether you could stand for the core team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. for next year.

#6-4-x, #6-5, #agenda, #dev-chat