Editor chat summary: 11th August 2021

This post summarises the weekly editor chat meeting (agenda here) held on 2021-08-11 14:00 UTC in Slack. Moderated by @get_dave.

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

Whats next in Gutenberg: July and August

Updates based on the scope for Site Editing projects

Updates were requested for the key projects:

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

@mkaz provided an update:

Navigation Editor screen

@get_dave provided the update:

  • Work has continued on 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 and stability.
  • Now looking to define what is required to bring the Nav Editor out of “experimental”.
  • To this end, the team is looking to arrange a hallway hangout (or similarly public forum) to compare/contrast the classic navigation screen with the block-based navigation screen.
  • We’re also looking 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. out or break down any “Epic” Issues from the Nav Editor tracking issue into more actionable tasks (where possible).
  • @javiarce has also been looking into and documenting the need to add some “polish” to the Nav Editor screen in order that UXUX User experience bugs/issues don’t spoil the overall experience. I believe he will look to add these as Bugs to the repo soon.
  • From this we will then look to reprioritise the task list in this tracking Issue around achieving feature parity at a user interface level (developer APIs will follow).

Block based 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. Editor and CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings..

@get_dave provided the update:

Native Mobile Team

@mattchowning provided the update:

Shipped

  • Added Android support for themes that use Global Styles

Added:

In Progress:

  • Block Picker Search is almost ready to ship.
  • Embed block.
  • Editor onboarding help section.
  • GSS Font size.
  • line height.
  • colors.

Styles, Patterns and Template Editor

At the time of the meeting no updates were provided. If you are a contributor, please do leave an update in the comments below.

(Aside: see Open Floor section below where we discussed how to avoid situations where there are no updates for key projects during the meeting).

Bonus: impromptu discussion on “Full Page Patterns”

This item was not on the agenda, but it’s worth including here because some good points were raised about the value of this proposal.

  • @paaljoachim resurfaced the idea of full page patterns as an alternative to creating a page template.
  • There is a proposal to add Full Page Patterns to Core which looks to have stalled.
  • One could tell the user to add a full page pattern instead of a reusable block that needs to first be converted back to regular blocks before being filled out.
  • Adding patterns is an accident proof way of not affecting any other pages. 
  • @mkaz noted that this feature will work now – there is no limit to what can be put into a pattern.
  • @get_dave noted the key difference between Full Page Patterns and Templates is that inserting a pattern is a one time operation – once inserted it will receive no further updates should the pattern be amended in future.
  • @digamberpradhan and Frank Wazeter were both in favour and could see the value of full page patterns as a discreet concept.

Task Coordination

@paaljoachim:

@annezazu:

  • Main focuses this week are:
    • starting to recap the block theme survey (responses due by Friday!).
    • shipping the call for testing today (included lots of testing).
    • responding to feedback as responses roll in.
  • I hope to have time to do triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. once more, focused again on labelling PRs to make releases a bit easier.

@get_dave:

Open Floor

Proposal for improving the “Key project updates” section of editor chat meetings

Usability feedback on the Template settings panel in Block Editor

  • Frank Wazeter raised some feedback about the Template settings panel.
  • When you click on “new”, the default thought is to do something akin to “create new from default template,” especially because the dropdown above has “default” selected.
  • However, what you get is whatever’s set in ‘defaultBlockTemplates’, which for the vast majority, isn’t anything explicitly set.
  • Likewise, if I select another template, my initial assumption is I’m making “New from…” whatever template I set.
  • It might make more sense if there was a toggle – similar to in background color for “Color” or “Gradient” to indicate that I’m making a brand new blank template.
  • @get_dave advised creating and Issue and Frank did so after the meeting.

Wrap up

Thanks to everyone who attended the meeting!

#core-editor, #core-editor-summary, #meeting-notes, #summary

Dev chat summary, August 11, 2021

@sergeybiryukov stepped up to lead this agenda-less meeting. Big thank you!

Highlighted blogblog (versus network, site) posts

From @audrasjb, another A Week in Core post highlights the moving parts of CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and recognizes a week’s worth of contributors at a time.

From @sarayourfriend provides an update on the native TypeScript proposal announcing that the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ project supports native TypeScript.

From @notlaura comes a Call for CSS Contributors, a carryover and reminder from last week. Their next weekly work session is August 12, 2021 at 21:00 UTC in #core-css.

From @chanthaboune, participate in the WordPress 5.8 ‘Tatum’ Retrospective. Feedback is due on August 15th and is greatly appreciated to make future releases even better.

From @webcommsat comes a helpful post for spreading the word about 5.8. In this post, you will find social posts you can share and adapt on Twitter and Facebook.

From @annezazu, follow the latest call for testing through the FSE Outreach Program. It’s focused on using the navigation 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. to build out a HigherEd themed headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. with three weeks to share you feedback.

From @annezazu comes a reminder to help shape the future of theme design. If you’re a block theme author or have explored that space, please share your responses by August 15th and know they are each greatly appreciated. 

Finally, catch up with the previous episodes of WP Briefing. The podcast will return in September!

Component maintainers

Reporting in on Build/Test tools, @sergeybiryukov shared that, as of last weekend, WordPress test suite is compatible with PHPUnit 8 & 9, and runs tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 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. (scheduled for release in November). Props to @jrf and @hellofromtonya for all the fixes and improvements that made it possible!  See ticketticket Created for both bug reports and feature development on the bug tracker. #46149 for more details.

Reporting on Date/Time, 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., Permalinks, @sergeybiryukov said that there’s no major news this week.

Reporting on General, @sergeybiryukov shared that work has started on making various compatibility fixes for PHP 8.1. Thanks @jrf, again!  See ticket #53635 for more details.

Open Floor

Considering #49728 for the 5.9 release. Raised by @hareesh-pillai.

Since the topic of compatibility with the latest PHP versions came up, Hareesh flagged that it would make sense to include this additional ticket after it was pushed from 5.6.

Next step: @hellofromtonya moved it to the 5.9 milestone.

Invitation to contribute to testing. Raised by @hellofromtonya.

Anyone interested in contributing to testing including attempting to reproduce problems, gathering testing information (such as testing steps, acceptance criteria, dependencies), user testing, and automated testing, you’re invited to join us in #core-test channel.

Checking in on a dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. related to 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 folks finding issues with PHPUnit updates. Raised by @jeffpaul.

@hellofromtonya and @jrf quickly chimed in to say that a dev note is in progress with an ideal publish date of next week. The quick TL;DR is:

  • Fixture methods changed in the WP test cases, i.e. changed to snake_case
  • Wrappers for the snake_case will be backported for extenders who are testing against versions other than 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..
  • Once those backports happen, then the fixture methods in your tests need to be updated for testing against trunk.

To help extenders, command-line messages will be added as well to alert and guide devs.

Bumping the ACCEPTABLE_PHP and SUPPORTED_PHP versions in light of PHP 7.3 support ending in 3 months. Raised by @hareesh-pillai.

@sergeybiryukov recommended that this be raised as a discussion topic in the next #core-site-health meeting. He also shared that he felt it was a bit too early to bump the recommended version to PHP 8.0, as there is still ongoing work to make it more compatible.

#dev-chat, #summary

Finalizing the native TypeScript proposal

Hi folks! I’m back again with an update on the TypeScript proposal. Previously in the follow-up post I said that after two weeks we would make a decision about it. It’s been several months since then, so it’s about time to make that decision!

While there was some feedback to the proposal, nothing was raised that seemed 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. the integration of native TypeScript into the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ project. Indeed, some packages (like compose and components) have seen a great deal of native TypeScript introduced. In fact, compose today is fully typed and this would not be the case if it were not for native TypeScript support in Gutenberg.

Therefore, I’d like to officially announce that the Gutenberg project supports native TypeScript. We will continue to follow the guidelines laid out in the follow-up proposal, reproduced here for posterity.

For existing code:

  • The default is to use 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/.
  • When it is possible to type something simply with JSDoc, use JSDoc
  • If there are complex types, but JSDoc is still sufficient generally for consuming those types, you may extract the complex types into a types-only types.ts file to be imported into the JSDoc
  • If it is not possible to express the types using JSDoc or if the JSDoc will vastly over-complicate the ability to type a function, convert it to TypeScript

For new code:

Use TypeScript when working in a “low-level package” (as defined below) for new code. Otherwise, follow the same pattern laid out for the existing code.

Low level packages:

A low level package is a package that:

  1. Provides a public APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.; and
  2. Is not frequently contributed to.

The coding guidelines for Gutenberg will be updated to reflect this approach to TypeScript.

#javascript

Editor Chat Agenda: 11 August 2021

Facilitator and notetaker: @get_dave.

This is the agenda for the weekly editor chat scheduled for Wednesday, August 11, 2021, 03:00 PM GMT+1.

This meeting is held in the #core-editor channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

  • Gutenberg 11.2.1 and 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/ 11.3.0 RC.
  • Whats next in Gutenberg: July and August.
  • Updates based on updated scope for site editing projects and WP 5.8:
    • Template editor.
    • Patterns.
    • Styling.
    • Navigation 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. & Navigation Editor.
    • Block based 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. Editor.
    • Mobile Team.
  • Task Coordination.
  • Open Floor.

If you are not able to attend the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting

A Week in Core – August 9, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between August 2 and August 9, 2021.

  • 58 commits
  • 22 contributors
  • 48 tickets created
  • 8 tickets reopened
  • 23 tickets closed

Pending the appointment of the WordPress 5.9 team, a number of tickets have been fixed, waiting for the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.(s). This week was also partly dedicated to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 compatibility.

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Build/Test Tools

  • Add Composer dependency on the PHPUnit Polyfills package – #46149
  • Add 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". filtering for 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/. notifications workflow – #52644
  • Add schema reference to PHPUnit config files – #53363
  • Alias the Getopt class conditionally, as the class no longer exists in PHPUnit 9.x – #46149
  • Change the inheritance order of the abstract test classes – #46149
  • Correct invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. in Slack payload – #52644
  • Correctly check for the trigger event when running the Slack notifications workflow – #52644
  • Declare two TestCase classes as abstract – #53363
  • Enable running the tests on PHP 8.1 – #53891, #53635
  • Expand Slack notifications for GitHubGitHub GitHub is a website that offers online implementation of git repositories that can 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/ Actions – #52644
  • Fix message display in test bootstrap – #53363
  • Handle removal of TestCase::getAnnotations()#46149
  • Implement use of the void solution – #46149
  • Loosen the PHPUnit restriction – #46149
  • Remove SpeedTrapListener – #46149
  • Remove Unicode character from PHPUnit version check message – #53363
  • Remove the Composer lock file from version controlversion control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories.#47381
  • Remove the copied-in PHPUnit 9.x MockObject files – #46149
  • Revert changes only included for testing purposes – #52644
  • Simplify redundant PHPUnit shim for setExpectedException()#46149
  • Switch to always running the tests via Composer – #47381
  • Unify the PHPUnit adapter TestCases – #46149
  • Use a custom autoloader for the PHPUnit 9.x mock object classes – #47381
  • Use the PHPUnit Polyfill TestCase as void workaround – #46149
  • Fix tests failing due to assertContains() using strict checking – #46149
  • Remove redundant @requires tags – #46149
  • Remove use of assertArraySubset() in Test_WP_Widget_Media::test_constructor()#46149
  • Replace assertFileNotExists() with assertFileDoesNotExist()#46149
  • Replace assertNotRegExp() with assertDoesNotMatchRegularExpression()#46149
  • Replace assertRegExp() with assertMatchesRegularExpression()#46149
  • Replace expectException() for PHP native errors with calls to the dedicated PHPUnit 8.4+ methods – #46149
  • Replace expectException() for PHP native errors with calls to the dedicated PHPUnit 8.4+ methods – #46149
  • Use more appropriate assertions in get_themes() tests – #53363
  • Use more appropriate assertions in get_themes() tests – #53363

Bundled Themes

  • Add / character to tags – #53870
  • Remove redundant semicolons after closing curly brackets – #53359
  • Twenty Thirteen: Correct indentation in image.php template – #53359
  • Twenty Thirteen: Remove wrapping HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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.) from translatable string – #53359

Code Modernization

  • Pass correct default value to new DateTime() in wp_default_packages_inline_scripts()#53635
  • Rename the readonly() function to wp_readonly()#53858
  • Replace strftime() and gmstrftime() usage in unit tests – #53897
  • Set the MySQLi error reporting off for PHP 8.1 – #52825
  • Silence the deprecation warnings for missing return type in WP_Block_List#53635
  • Silence the deprecation warnings for missing return type in WP_Hook#53635
  • Silence the deprecation warnings for missing return type in WP_REST_Request#53635
  • Silence the deprecation warnings for missing return type in WP_Theme#53635

Coding Standards

  • Correct DateTimeZone class name in WP_Customize_Date_Time_Control::get_timezone_info()#53359
  • Fix incorrect alignment in two comment blocks – #53359
  • Fix incorrect comment indent in safecss_filter_attr()#53359
  • Remove redundant semicolons after closing curly brackets – #53359
  • Silence a WPCSWordPress Coding Standards A collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official standards for WordPress Core. warning in date_i18n()#53359
  • Use strict comparisons in wp-admin/options-discussion.php#53359
  • Use strict comparisons in wp-admin/upload.php#53359

Editor

  • Prevent 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 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/. loading in other editors – #53696
  • Block Editor: Add missing border setting on button block – #53702

Media

  • Add / character to <img> tag in wp_print_media_templates()#53870
  • Hide bulk-select on new menu page – #53654

Themes

  • Correct the documented types for theme mod values – #53399

Props

Thanks to the 22 people who contributed to WordPress Core on Trac last week: @jrf (43), @SergeyBiryukov (8), @hellofromTonya (6), @johnbillion (6), @netweb (5), @desrosj (4), @ayeshrajans (3), @akabarikalpesh (2), @swissspidy (2), @shital-patel (2), @priethor (1), @daisyo (1), @Mamaduka (1), @sabernhardt (1), @dlh (1), @Clorith (1), @aristath (1), @pputzer (1), @dd32 (1), @knutsp (1), @haosun (1), and @mikeschroder (1).

Congrats and welcome to our new contributor of the week! @haosun ♥️

Core committers: @sergeybiryukov (47), @desrosj (5), @peterwilsoncc (4), @johnbillion (1), and @jorgefilipecosta (1).

#5-9, #core, #week-in-core

Dev chat summary, August 4, 2021

@francina led the chat on this agenda.

Highlighted blogblog (versus network, site) posts

From @audrasjb, A Week in Core highlights the moving parts of CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and recognizes a week’s worth of contributors at a time.

From @notlaura comes a Call for CSS Contributors. If you’ve been looking for a way to sink your teeth into CSSCSS Cascading Style Sheets. Custom Properties (aka CSS variables), this is your chance to learn them well and help land them in Core.

From @sergeybiryukov comes more news on building the auto-updater ecosystem. If you work on themes and plugins, Sergey’s group would very much appreciate your feedback. The group would also like to hear from web hosts, as @ipstenu and a couple of other folks pointed out.

If you haven’t yet read @desrosj‘s post on Consistent Minor-Release Squad Leaders for Each Major 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".: Trial-run Retrospective and 5.8.x Releases, you’ll want to make time for it — the post is getting great reviews.

“Super interesting! … Super insightful!” — @francina

“Yeah. That’s a good read.” — @johnbillion

@francina suggested that if you’re interested in volunteering as a Release LeadRelease Lead The community member ultimately responsible for the Release. or a Release Deputy for the 5.8.x minors, please leave a comment on @desrosj‘s post.

And, from @chanthaboune and her talented production team comes the WP Briefing podcast. It’s on hiatus now, but more episodes will arrive in September. (So you’ve got time to catch up on the ones that have already dropped!)

Component maintainers

Reporting in on Build/Test tools, @sergeybiryukov had several announcements.

Ticketticket Created for both bug reports and feature development on the bug tracker. #52644: when a workflow fails, a message now gets posted to #core. That will make it easier to notice and fix failures in testing, Sergey explained and then thanked @desrosj publicly for his help on this. For details, see the ticket.

Ticket #47381: So that the WordPress Project can use more modern PHPUnit versions, this ticket makes several changes that make it easier to run unit tests against a variety of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher versions:

  • It removes the composer.lock file.
  • The PHPUnit 9.x mock object classes use a custom autoloader.
  • And the tests now always run in Composer.

Sergey thanked @jrf publicly for her work on the changes.

Reporting on General, @sergeybiryukov thanked @jrf again and announced that work has started on a variety of compatibility fixes for PHP 8.1. Details are in Ticket #52644.

Open Floor

@francina started Open Floor with news of a streaming PHP brainstorming, learning and teaching session that happened on Friday, August 30.

If you missed it, it’s up on YouTube. Featuring @jrf, @hellofromtonya, @sergeybiryukov, and @johnbillion, @hellofromtonya described the session as a “working session on modernizing the test suites. Got consensus and an action plan.”

Tonya noted that commits are in process, and @francina asked for ways the community can help.

In Highlighted Posts, @francina had asked @desrosj what encouraging words he had for people who’d like to volunteer with major and minor releases. Now, in Open Floor, she circled back around, and Jonathan pointed out that you don’t have to have any previous experience leading a major or minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. to get involved.

So if you’re interested, please comment. And get involved!

@webcommsat brought two items from Marketing to Open Floor: one on promoting favorite features in WordPress 5.8 and one on search terms for release information. Full details are in the chat here.

Thanks and props to post reviewer @desrosj!

#5-8-x, #5-9, #dev-chat, #summary

CSS Chat Summary: 05 August 2021

The meeting took place here on Slack. @Dave Ryan facilitated and @danfarrow wrote up these notes.

Housekeeping / Custom Properties (#49930)

@Dave Ryan gave a shout out to the Call for Contributors with this great introduction to the project:

If you or anyone you know loves CSSCSS Cascading Style Sheets. or loves WordPress, we’d love some additional pairs of hands to work on the CSS Custom Properties project that’s targeted for an experimental release in 5.9 and a stable release in 6.0!

For context, this project is to replace hard-coded colors in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. stylesheets with CSS Custom Properties!

This transition will make it safer and easier to override default colors in the WordPress Adminadmin (and super admin)

It opens up potential for things like an official Dark Mode (or easier-to-implement for 3rd parties), easier inheritance of Core styles 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 & Theme wp-admin screens, custom color schemes, custom branding and more!

CSS Link Share / Open Floor

@Dave Ryan shared four great links:

Working time

The last 20 minutes of the meeting were dedicated to individual working time on the Custom Properties project, after which @Dave Ryan closed proceedings.

Thanks Dave for running this week’s chat!

#core-css, #summary

Editor chat summary: Wednesday, 4 August 2021

This post summarizes the weekly editor chat meeting on Wednesday, 4 August 2021, 14:00 UTC held in Slack.

WordPress 5.8 final release

@jorgefilipecosta congratulated all the people that contribute to the WordPress 5.8 release. Adding that it was a big release that changed multiple things in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., added part of the FSE engine, implemented 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. widgets between other big additions.

@youknowriad invited people to participate in a retrospective that is happening. And added the following:

One thing I didn’t share on my comment there is that we’ve been on a feature release work for a long time. I’d love if we can focus more on quality related work (polish/performance…). For instance if you worked on a feature on previous releases, what can you do today to make it better in terms of code, performance and maintenability.

What’s new 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/ 11.2.0

@jorgefilipecosta announced that Gutenberg 11.2 was released before the chat, and asked people to report any 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. found in their tests or if the update did not work as expected.

Project updates

Site Editor

@jorgefilipecosta submitted a PR that proposes a mosaic view one of the goals for July & August. The PE contains most of the functionality proposed in the mockups but not all of it because the PR was already huge. The PR also implemented the logic for an editor modes functionality that will be used to add the code editor in edit site very useful for example to full site editing theme developers.

Navigation block

@mkaz shared that, the Navigation Block is in a good state, still iterating but the next big step is a call for testing in the next week. And asked people to keep an eye out at #fse-outreach-experiment or the make.wordpress.org/test site. The team will collect feedback from that call to define what areas need focus, improving, and further iteration.

Navigation

Widgets

Native mobile application

Available in the next release:

  • “New block” block picker badge for 50% of users to measure performance.
  • Setting the featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. via the Image block directly.
  • Fixed a crash in the column block, and an issue with the “More” menu in the UBE.

In progress

  • Updated the Mobile Gallery Block Refactor (PR) with the changes from Web and merged it.
  • Block Picker Search, Embed block, editor onboarding help section, GSS Font size, line height, colors.

Task coordination

@youknowriad

Is working on performance work. Has a PR improving inserter search performance.
Is also iterating on some layout-related additions. Like the block gap support.
Reviewing the PRs that he can help with.

@joen

Looks forward to getting back to polishing and improving the navigation block, list view, and a ton of other cool things, perhaps even a little framer animation! Is also going to land github.com/WordPress/gutenberg/pull/32659 one of these days, and follow up with what that will mean for the Gallery block.

@gziolo

  • Finished working on adding support for variations in block.json file to WordPress core: As part of the efforts the same 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. proposes a unified way to apply translations to block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. and theme.json.
  • Finished working (together with @jsnajdr and @walbo) on webpack upgrade from v4 to v5 in the build tooling: It would be great to have a wider testing before the team lands it as it impacts Gutenberg, Storybook and all projects that use wordpress/scripts.

@get_dave

Mainly working with @joen on adding a Text field to the Link UI to improve the UX around adding links (mainly in the Nav Editor). Also taking a look at pattern-based solutions to some Widgets screen markup backwards compatibility problems. Starting to think about Navigation Editor and theme.json again.

@jorgefilipecosta

His objectives for the week are:

  • Address feedback and merge the mosaic view PR
  • Propose a follow up PR with the remaining mosaic functionality.
  • Propose a PR with the code editor view on the site editor.
  • Investigate and improve the performance of the site editor.
  • Submit some site editor 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 and code quality/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. improvements.
  • Review the locking improvement proposal.

Open floor

Alignments in the shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. block

@paaljoachim share the following:

The Shortcode block does not have alignment or a way to add a custom CSSCSS Cascading Style Sheets.. Here is a conversation 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/. which would be helpful to take a closer look at: https://wordpress.slack.com/archives/C02QB2JS7/p1627590018095900

Adding that he is hoping that we can improve the shortcode block, as it is very limited in functionality.

@jorgefilipecosta said that for this use case the shortcode should be nested inside a group block.

@paaljoachim added that the shortcode is not working well inside the group block and as a follow up is going to open an issue so the team can investigate this further. The issue was created after the chat.

Wassim Boussebha new contributor presentation

Wassim Boussebha introduced himself to the participants of the chat:

I am Wassim Boussebha 18 years old,  computer science student in first year , I am interested to contribute to gutenberg project and be one of the maintainers in the future, currently I am learning computer science basics and foundations including algorithms, computer operating systems,databases….

Adding that he would like to know what is the specific tech stack that would allow him to contribute and work on this project and if it would be possible to provide some orientation.

@jorgefilipecosta thanked Wassim Boussebha for the interest in contributing. And together with @paaljoachim shared links to some tutorials, explained the tech stack, and referred what could be the first issues Wassim can work on. @jorgefilipecosta added that the team is available on slack to help with any blocking points while trying to contribute.

#block-editor, #chats, #core-editor, #core-editor-summary, #gutenberg, #meeting-notes

What’s new in Gutenberg 11.2.0? (4 August)

Two weeks have already passed since 11.1, so this week 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/ 11.2 was released. This release seems to have had more of a focus on 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 and tooling, but nevertheless there are still some great features to highlight. Color support has been expanded on two blocks, a new layout option is being tested for parent blocks, and there’s now an option for creating a new post after publishing.

Search 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. – button and border colors

The range of options for customizing blocks continues to improve. The search block now has additional options for customizing button and border colors.

Group block – flex layout

An experimental flex layout option is being beta tested on the group block. This is an early glimpse at a feature that would give parent blocks the capability of defining the layout of their inner blocks.

In the near future the intention is to provide options for changing the orientation, alignment, justification, and spacing within a flex layout.

New button for creating posts as part of the publishing flow

If you’re creating more than one consecutive posts, you can now create a new post from the editor as part of the publishing flow.

11.2.0

Features

  • Search Block: Add color support to search button. (32416)
  • Search Block: Add border color support. (31783)
  • Pullquote: Add border and color support. (30951)

Enhancements

  • Post Editor
    • Add a new page/post button on publish panel. (33276)
  • Widgets Editor
    • 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. inserter: Clarify that the button toggles the inserter. (33561)
    • Update widget editor help links to point to the new support article. (33482)
  • Components
    • Spacer: Change props override order, split types. (33555)
    • Elevation: Reduced motion styles, updated documentation and README. (33551)
    • components: Add unit values utils. (33514)
    • components: Add isValueNumeric util. (33206)
    • [Components]: Add SegmentedControl. (31937)
    • Components: Promote VisuallyHidden from ui into full components (#31244). (31902)
  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
    • Inserter: In text label mode, use “Close” label when inserter is open. (33534)
  • Data
    • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Pass query argument to data selector shortcuts. (33689)

Bug Fixes

  • Block Library
    • Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Allow authors to select images uploaded by other users. (33567)
    • Template Part: Avoid button layout shift. (33362)
    • Remove instagram reference from embed block’s description. (33519)
  • Block Editor
    • Fixed that the block is selected instead of the title when using the select all shortcut. (33621)
  • Post Editor
    • Most Used Terms: Avoid 403 error for non-administrators. (33569)
    • Editor: Set ‘hide_empty’ for the most used terms query. (33457)
    • HierarchicalTermSelector: Use TextControl component. (33545)
    • PWA manifest: icon: Fix error when adminadmin (and super admin) bar is gone. (33702)
  • Widgets Editor
    • Fix 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/theme incompatibility, call onChangeSectionExpanded conditionally. (33618)
  • Components
    • Fix: Native UnitControl to handle single unit configuration. (33641)
    • NumberControl: Allow empty values. (33485)
    • BoxControl: Prevent invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. style values. (33444)
    • FocalPointPicker: Check if value is NaN. (33637)
    • UnitControl: Set correct unit when units has one option. (33634)
    • components: Use useCx to fix iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. support. (33301)
    • Card: Add missing box-sizing CSSCSS Cascading Style Sheets. rules. (33511)
    • CardBody: Change default value of isScrollable to false. (33490)
    • ItemGroup: Fix padding, split types, rename boolean props. (33553)
  • Themes
    • 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.: Fix broken 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. in WP_Theme_JSON_Resolver. (33624)
  • Site Editor
    • Site editor: Check template resolution. (33527)
    • FSE: Fix content height. (33698)
  • Media
    • Format Library: Remove style from inline image if width not set. (32516)

Performance

  • Drag and drop
    • Set passive listener option for use popover scroll to avoid affecting scrolling performance. (33478)
    • Drag items via transform property to avoid layout and re-paints. (33395)

Experiments

  • Full Site Editing
    • Query Pagination: Update the arrows on the Next and Prev pagination blocks. (33626)
  • Block Library
    • Add flex layout support to the block editor. (33359)

Tools

  • Testing
    • E2E: Navigation wait for links before counting them. (33704)
    • Automation: Track Gutenberg performance metrics over time. (33694)
    • Re-enable “Save flow should work as expected” end-to-end test. (33548)
    • Skip some widgets editing related tests. (33547)
    • Enable the reusable blocks skipped test. (33510)
    • Skip end-to-end tests. (33503)
    • Tests: Run Prettier after regenerating test fixture. (33502)
    • Fix screenshots not being captured when snapshots failed. (33448)
    • Add coverage folder to .gitignore. (33413)
    • Automated Testing: Disable remote patterns in tests. (33160)
    • Improve function widgets test. (33489)
    • Make the performance CI job more stable. (33710)
    • Update button block corner radius test to px. (33562)
    • Add unsupported block title translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. test. (33340)
    • Re-enable skipped widgets end-to-end test. (33449)
  • Build Tooling
    • Update sass version to 1.35.2 with fixes. (33433)
    • Improve Feature mapping in automatically generated changelog. (33625)
    • Add depth to git fetch in npm publishing. (33595)
    • Release docs: Add process for creating a point releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. of the Plugin. (33546)
    • Docs: Run Prettier after updating 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. in documentation. (33498)
    • Publish android artifacts with publish to s3 gradle plugin. (33441)
    • Build: Split configuration into two parts – blocks and packages. (33293)
    • Automate grouping of release Changelog PRs by feature. (33229)
    • Fix dependency extraction webpack v5 deprecation. (33090)
    • Scripts: Update eslint-plugin-markdown version. (33432)
    • Replace CRLF with LF when generating unminified assets. (33509)

Documentation

  • Add missing space in documentation. (33690)
  • Added common steps of plugin translation. (23535)
  • Packages: Ensure changelog entries are attributed to the correct release. (33590)
  • Add i18n filters to documentation table of contents. (33556)
  • Update the create a block theme how-to guide. (33382)
  • Block API: Improve how blocks assets are versioned. (33075)
  • Update the tested up to version in the readme file. (33760)
  • Correct {% end%} 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.) – missing a space. (33189)
  • Use tabs instead of spaces in block transform doc example. (33549)
  • Fix flaky widgets end-to-end tests by waiting for the snackbar correctly. (33317)
  • Scripts: Add changlog entry for module update. (33473)
  • Create block: Update “Tested up to” in readme.txt. (33493)

Code Quality

  • Block Library
    • Fix optional params in page list rendering. (33639)
  • Block Editor
    • Block editor: Use ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. events for shortcuts (portal bubbles & contextual). (32323)
    • Block editor: Remove focus stopPropagation from appender. (32003)
    • Block editor: iframe: Incorporate writing flow. (33497)
    • Escape key sanity (avoid event.stopPropagation). (33630)
    • Writing flow: select all: Remove early return for post title. (33699)
    • Remove event.stopPropagation for past WritingFlow/ObserveTyping compatibility. (33632)
  • Post Editor
    • Editor: Refactor Post Author component. (33695)

Performance Benchmark

The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.

VersionLoading TimeKeyPress Event (typing)
Gutenberg 11.28.48s37.89ms
Gutenberg 11.18.54s38.17ms
WordPress 5.88.43s39.71ms

Kudos to all the contributors that helped with the release! 👏

#block-editor, #core-editor, #gutenberg, #gutenberg-new

X-post: Block-based Themes Meeting Agenda: August 4, 2021

X-post from +make.wordpress.org/themes: Block-based Themes Meeting Agenda: August 4, 2021