Editor chat summary: Wednesday, 21 October 2020

This post summarizes the weekly editor chat meeting on Wednesday, 21 October 2020, 14:00 UTC held in Slack.

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/ 9.2 and WordPress 5.6 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

@jorgefilipecosta announced Gutenberb 9.2 was released some hours before: https://make.wordpress.org/core/2020/10/21/whats-new-in-gutenberg-21-october/.

Regarding WordPress 5.6 Beta it was released on the previous day as planned: https://wordpress.org/news/2020/10/wordpress-5-6-beta-1/.

Unfortunately the 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. Blocks were not part of the WordPress release. More context is available at https://core.trac.wordpress.org/ticket/51506#comment:13.

@jorgefilipecosta referred that there is a must-have board that contains the issues that should be addressed before the next WordPress release https://github.com/WordPress/gutenberg/projects/48. Some of these issues are not yet assigned to anyone so it is a good opportunity for someone looking to contribute and have an impact on the next WordPress release.

Monthly plan updates

Full Site Editing – Navigation – @vindl

  • Pages selector dropdown has been removed in #25620. This functionality is now accessible through the navigation sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., similar to templates.
  • The initial version of Document Settings dropdown in site editor has been completed. It contains basic template info and a button to view all templates.
  • Work is in progress for adding new functionality to the navigation sidebar, most notably the search featuretemplate creation flow, and RTL support.
  • Hover interaction for template parts is on hold after latest round of design feedback and will have to be reworked or abandoned.
  • Old PR for converting blocks selection to template part has been picked up again and updated.

Full Site Editing – Navigation – @ntsekouras

  • The Add sticky support in Query 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. (https://github.com/WordPress/gutenberg/pull/26279) a needs review.
  • Query block enhancements(loading and no results messages, focus Query on insertion)

Global Styles – @jorgefilipecosta

Widgets Screen – @zieladam

  • We are regrouping on #feature-widgets-block-editor to figure out what’s next – anyone interested in this project is welcome to join.
  • Widgets-related work had some positive effects such as widgets 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. endpoints or bringing in support for batch requests in WordPress (props especially to @timothybjacobs and @Jonny Harris).

Task coordination

@jasmussen

Submitted the following PR’s:

@annezazu

Shipped the Block Editor Release Process for Major Releases with major props to our host @jorgefilipecosta and @tellthemachines, reported 13 Widgets Screen related issues to 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/, and lots of additional testing including with the latest for FSE.

@ajlende

  • Woking on a new image-related feature: duotone 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. support #26361.
  • Some of the menu stuff is blocked by #26115 (which @ajlende is currently working on).
  • Cover block support is blocked by #25171.

@mapk

  • Query block
    • Introducing placeholder screen.
    • Creating a new post from block.
    • Swap out patterns for block.
  • Widgets screen
    • Going through feedback and helping with design related issues.

@youknowriad

  • Tried to help a bit with coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. package updates and patches for 5.6.
  • Started working on documentation for the new APIs in 5.6.
  • Doing some prototyping related to FSE.
  • Helped a bit with e2e tests (please help there if you have time, we’re not on a great stop at the moment).

@zieladam

@mcsf

  • Focused a lot on rethinking our Block Supports implementation, starting with 26111, then discussing details with @youknowriad and @nosolosw in 26192 and follow-up PRs
  • PR reviews in general

@ntsekouras

  • Add sticky support in Query block(https://github.com/WordPress/gutenberg/pull/26279) – needs review
  • Query block enhancements(loading and no results messages, focus Query on insertion)
  • Recognize and convert old or derivative block types to their canonical form(https://github.com/WordPress/gutenberg/pull/26147)
  • 5.6 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

@jorgefilipecosta

  • Proposed a PR to generate preset classes on the client-side https://github.com/WordPress/gutenberg/pull/26224.
  • Proposed a PR to use the block settings on the global styles block panel instead of the global ones https://github.com/WordPress/gutenberg/pull/26319.
  • Merged the pass of dynamic editor settings to the block editor on the edit site screen.
  • Iterated and merged the video text tracks functionality.
  • Iterated and merged the columns and group block templateLock control functionality.
  • Fixed a timezone issue that was considered critical and will be backported for older versions. Did an audit to the way we format dates on the frontend and suggested a general fix (we still have issues currently when we use formats with a complete timestamp like ‘c’ used for time HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. elements)
  • Did some PR reviews.

For the next week, will see how we can proceed regarding date-time, review the related PRs, etc. Will improve the font size presets (having global styles rely on pixel values for font sizes exclusively is not a good idea). See what can be done regarding identifying if a block instance matches a global style selector (for cases like headings). Will continue the iterations on the PR’s that are open and do some PR reviews.

@vcanales

  • PR for moving away from momentjs and into date-fns: https://github.com/WordPress/gutenberg/pull/25782 — Needs review, all input appreciated — Most tests passing, and @vcanales is currently testing and trying to fix this issue related to post schedule date mismatch, with the library swapped out.

@frankklein

Got two FSE bug fix PRs open:

  • Template part generation fix (i.e. do not use text domain): https://github.com/WordPress/gutenberg/pull/26275 already reviewed, and ready for merge.
  • Fix theme exports (these don’t work at all at the moment) https://github.com/WordPress/gutenberg/pull/26268

@nosolosw

His focus has been lately on various things that were important to land on 5.6. Plans to get back to FSE/GS work this week.

@bph

Testing daily builds of the plugin.zip (for now published on Gutenberg Times).

@karmatosed

Now options iterations are in 5.6, moving to beyond those for next releases. Also shepherding 5.6 and picking up some little pieces along way.

@itsjonq

  • Continued with G2 Components explorations, with a focus on supporting Design Tools (starting with Typography)
  • Building in features like CSS validation and smarter unit parsing (e.g. px, or vmax) to expand Gutenberg’s abilities to handle custom values (as Global Styles evolves)
  • Continued knowledge sharing of all sorts (G2, design, UIUI User interface, dev) via Zoom sessions

Open floor

Updating 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. editor more frequently

@clorith said:

Continuous Gutenberg releases in trunk.Currently, changes to the 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 generally get merged to core a few days before beta-1 of 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. going out.

In that time period, months have likely to have passed, and the plugin would have had multiple releases (taking the 5.5 as an example, 9 releases of Gutenberg were bundled, the same rungs true of WP 5.4, 10 releases made it into 5.3). That’s a lot of changes, not all of them obvious, but having all of them land right before beta makes it harder to test their interaction purely in core, and separate between experimental plugin stuff, and what is actually planned for core.I would like to see a continuous integration between the two projects, I’ve outlined a proposed running timeline to get the discussion started around this:- Plugin has a new version releases

– The changes live in the plugin for 3 weeks

– After these 3 weeks the changes are merged to trunk

– Feedback on trunk/core can be provided on the features on how they work without all the other bells and whistles of the plugin.I chose the arbitrary number of 3 weeks, as that gives ample time to get plugin feedback from those using the plugin for testing, while also not keeping changes away from core for “too long”, and also doesn’t lead to excessive extra work for committers tasked with Gutenberg chores (ideally, I’d love a 2 week turnover, as I feel that gives ample time for plugin feedback, but this is what we’re here to discuss 🙂 )

@youknowriad said that our official plan is to actually merge after each release with trunk. The only blockerblocker A bug which is so severe that it blocks a release. is that  we don’t  have the resources to do so. And added that the part that can be automated is already automated: updating the packages and the e2e tests against core. The rest (PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher changes) can’t be automated.

Multi-line Code blocks 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.

@getdave said:

There is a regression in the latest Gutenberg release on the Code block (and possibly also the Classic Block) where formatting is completely broken.

https://github.com/WordPress/gutenberg/issues/26301

It looks like this was introduced by changing from PlainText to the RichText component. All the link breaks are now returned as br tags which causes everything to render on a single line.

My personal website for example now shows all my code snippets in one unformatted long line which isn’t great (at all).

Not sure how complex this is to fix, but should we look to address it as a high(ish) priority?

@jorgefilipecosta said he thinks @ellatrix  is already aware of this issue and looking into a solution.

Should we have an issue per PR?

@paaljoachim said:

It seems fairly easy today to create a PR and have someone review and have it merged without even someone from design or 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) have gone through the PR. The question that comes up… should all PRs have an associated issue?

As it seems an issue will have greater visibility and it is easier I believe for someone to add the correct labels to get it looked at.

@jorgefilipecosta and @youknowriad manifested their thoughts against the idea of forcing an issue per PR.

It seems the biggest issue is having PR’s without labels that don’t get the deserved attention, and we should all make sure our PR’s are properly labelled. In case you have PR’s open please verify if all of them include labels.

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

What’s new in Gutenberg? (21 October)

9.2 was the final release to make it into 5.6 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.! Featured goodies in this release are:

Support for video subtitles 🎉

Subtitles dropdown on video 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.. Props to @jorgefilipecosta for the screenshot.


Ability to transform multiple selected blocks into a Columns block:

Transforming three images into a three-column columns block.


And background patterns in Cover blocks!

Adding background patterns to a Cover block. props to @retrofox for the gif.

9.2 🇭🇺

Features

  • Add video tracks functionality. (25861)
  • Transform multiple selected blocks to Columns block. (25829)
  • Cover: Add repeated background option. (26001)

Enhancements

  • Add dropdown button to view templates in sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (26132)
  • Gallery block: Use image caption as fallback for alt text. (26082)
  • Table block: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. + 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. v2. (26065)
  • Refactor document actions to handle template part titles. (26043)
  • Info panel layout improvement. (26017)
  • Remove non-coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks from default editor content. (25844)
  • Add very basic template information dropdown. (25757)
  • Rename "Options" modal to "Preferences". (25683)
  • Add single column functionality to the Columns block. (24065)
  • Add more writing flow options: Reduced UIUI User interface, theme styles, spotlight. (22494)
  • Add option to make Post 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. a link. (25714)
  • Widgets Screen:
    • Add legacy 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. inspector card component. (26142)
    • Show the legacy widget name in list view. (26138)
    • Add unsaved changes warning to widgets screen. (26081)
    • Display Widget Area’s name and description in the sidebar. (25943)
    • Widgets editor: Add basic options for extensibility. (25758)
    • Disallow multiple instances of reference widgets. (26148)
    • Embed widget type. (26093)
    • Add widget type endpoint. (26042)
    • Make edit-widgets package public. (26016)
    • Uncollapse widget area when block is dragged over. (25992)
    • Add meaningful labels for the Widgets screen ARIA landmarks. (25867)
    • Load custom block assets. (25826)
    • Test for storing raw htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in widgets. (24886)

New APIs

  • Make block supports server-side explicit. (26192)
  • New hook: UseDebounce for speak function. (25948)
  • Make the custom spacing theme support flag and block support API stable. (25788)
  • Mark the line height support flag as stable. (25769)
  • Mark the font size support flag as stable. (25695)
  • Mark the color support flag as stable. (25694)
  • Add a button to allow resetting the ComboboxControl value. (25692)
  • Block API: Light block edit/save symmetry. (25644)
  • Block API: Stabilize light block hook. (25642)
  • Inner blocks: Try hook approach. (25633)
  • API: Stabilize localAutosave() as autosave( { local: True } ). (20149)

Experiments

  • Query Block:
    • Add Custom Post Types support in Query block. (25903)
    • Set focus on Query block on insertion. (26267)
    • Add loading message to Query block while fetching results. (26199)
    • Add no results placeholder in Query block. (25984)
  • Site Editor:
    • Clear the active menu state when closing the sidebar. (25957)
    • Add missing localization to the templates sidebar. (25897)
    • Mount both wp_template and wp_template_part EntityProviders to avoid remounting. (25870)
    • Navigation templates. (25739)
    • Update Navigation Panel Toggle UI. (25622)
    • Move page switcher to navigation panel. (25620)
    • Add template switcher to navigation panel. (25615)
    • Pass editor features dynamically. (25795)

Bug Fixes

  • Fix for current_parsed_blocks value when block has inner blocks. (26291)
  • Fix updating clientId mapping. (26290)
  • Fix typo in wrapper attributes. (26282)
  • Fix: Keep the ‘Insert from URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org’ entered value on ImagePlaceholder. (26262)
  • Fix align order in heading block. (26260)
  • Widgets screen: Add a 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. function to registerCoreBlock. (26259)
  • Use ToolbarButtons instead of Buttons in the Legacy Widget block’s toolbar. (26258)
  • Widgets screen: Add "Browse all" option to the inserter. (26256)
  • Fix: Post schedule label showing wrong time if site and user timezones did not match. (26212)
  • Fix Site Title block’s heading levels appearance. (26202)
  • Writing flow: Fix in-between inserter for aligned blocks. (26197)
  • Fix Site Tagline block’s text alignment. (26191)
  • Fix separator and spacer blocks after api v2 refactoring. (26157)
  • Global Styles sidebar (blocks tab): Protect against not registered blocks. (26149)
  • Block templates: Recognize and convert old or derivative block types to their canonical form. (26147)
  • Fix editing Legacy Widgets doesn’t enable "Save" button. (26144)
  • Fix Cover width 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.. (26143)
  • Fix tabbing in widgets not triggering auto-scrolling. (26139)
  • Cover block: Improve overlay opacity handling. (26133)
  • Fix icons type annotation. (26129)
  • FullscreenMode: Remove the is-fullscreen-mode CSSCSS Cascading Style Sheets. class from body on unmount. (26103)
  • Make sure Global Styles CPT includes a theme reference. (26061)
  • Restrict legacy widget block to only being a child of widget area. (26053)
  • Fix/wrong classes search block. (26052)
  • Fix drag and drop in empty widget area. (26051)
  • Fix unit tests by updating cover block fixtures. (26044)
  • Upgrade autoprefixer to fix fit-content in firefox. (26019)
  • Fix widget area title font. (26018)
  • Widgets screen: Fix WP Adminadmin (and super admin) Bar Widgets screen link. (26015)
  • Hide parent selector in widget area. (26011)
  • Document Actions: Fix unexpected label wrapping. (26004)
  • Fix template part theme identifier. (25995)
  • Show all widget areas on widget screen. (25977)
  • Fix block editor example in storybook. (25976)
  • Fix 9:16 aspect ratio styling. (25972)
  • Fix gallery caption not centered in the front-end issue. (25962)
  • Widgets screen: Add save keyboard shortcut. (25944)
  • Widgets screen: Remove default hover background in panel title. (25939)
  • Fix failing previews end-to-end test. (25938)
  • Fix input control drag and box control change. (25933)
  • Fix end-to-end tests related to template parts. (25923)
  • Fix insertion indicator margin. (25893)
  • Fix blue line indicator not showing at the end. (25849)
  • Fix incorrect attribute type specified in Search block. (25813)
  • Document Actions: Fix Block Editor Inserter Overlap with Document Titles. (25801)
  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning in widget utils REST controller. (25797)
  • Include edit-widgets php files in build. (25792)
  • Docs: Fix typo in GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. Workflow. (25779)
  • Widgets screen: Fix widget-area 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). (25732)
  • Widgets screen: Fix insertion point in widget areas. (25727)
  • Document Settings: Fix document title hover and select animations. (25719)
  • Define text color for warning message component. (25713)
  • RichText: Remove native props for web. (25700)
  • Use h3 in the legacy widget title. (25690)
  • Navigation block: Use unbounded query when requesting top level pages. (25689)
  • Document Actions: Fix document title misalignment with an open nav sidebar. (25630)
  • Fix ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. error in wordpress/block-editor documentation usage example caused by applying args to setState call. (25492)
  • Cover Block: Show spinner while uploading. (25401)
  • Button block: Reduce chance of style conflicts. (24919)
  • Fix skipped 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. transforms in raw handling. (22840)
  • Media links: Fix linking for images inserted from URL. (22195)
  • Refactor reusable block edit component using hooks (and fix interactions with multiple instances of the same reusable block). (21427)

Performance

  • Paragraph: Avoid selector to improve performance. (26150)
  • Remove transition on block selection indicator. (25974)
  • Widgets screen: Preload request to /sidebars. (25726)

Documentation

  • Bring the block-based theme tutorial up to date. (25830)
  • Add more CI status badges to README. (26090)
  • Getting started: MAMP: Add tip to fix WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/. (26057)
  • Update colors readme with additional definitions. (25954)
  • Document isMultiBlock param for block transforms. (25952)
  • Update CI status badge in README. (25907)
  • Adds missing Curly brace. (25748)
  • Add documentation for colors component. (25567)
  • InspectorAdvancedControls: Add README.md. (25566)
  • Add documentation for useResizeCanvas. (25558)
  • Add/block navigation component readme. (24882)
  • Update Block Based Themes Documentation. (25710)

Code Quality

  • Pass all extra attributes down in get_block_wrapper_attributes. (26280)
  • Editor: Refactor PostFormatPanel to use React hooks. (26273)
  • BlockListBlock: Reduce passed props. (26251)
  • Editor: Refactor PostFormat to use React hooks. (26238)
  • Latest posts: Use hooks + API v2. (26122)
  • Latest comments: API v2. (26113)
  • Categories block: Use API v2. (26112)
  • Rename ReusableBlocksButtons to ReusableBlocksMenuItems. (26099)
  • Reusable block: Use API v2. (26091)
  • Gallery block: Use hooks. (26088)
  • Pullquote block: Use hooks + API v2. (26068)
  • Components: Start adding types progressively. (26066)
  • File block: Use hooks + API v2. (26063)
  • HTML block: Use hooks and API v2. (26055)
  • Update all blocks to API v2. (26054)
  • editor: Remove two unused registry controls. (26048)
  • Tweak styles of the document actions area. (26038)
  • Site Editor: Navigation panel replace hardcoded menu strings with constants. (26026)
  • Move left sidebar state to redux. (26003)
  • Refactor Categories to function component. (25806)
  • Classic block: Use hooks. (25737)
  • Remove animation from mover buttons. (25728)
  • Move widget-area to edit-widgets. (25673)
  • InnerBlocks: Add select dependencies. (25672)
  • Refactor Buttons block native edit component to use hooks. (25636)
  • Data: Build the basic data controls into every store. (25362)
  • Block Editor: Use optional chaining and nullish coalescing instead of Lodash.get. (23632)
  • Refactor Latest Comments block to use function component. (23557)
  • WordCount: Add types. (22077)

Security

  • PostCSS Plugins Preset: Update vulnerable dependency. (26140)

Breaking Change

  • Add separate widgets endpoint. (25958)

Various

  • Stabilize batching endpoint as v1. (26295)
  • Make batch opt-in more expressive. (26292)
  • Remove experimental sidebars endpoint shim. (26288)
  • Warn about using core/batch-processing store. (26287)
  • Remove WP_REST_Widget_Utils_Controller class. (26274)
  • Minor iterations to grouping for preferences panel. (26198)
  • Allow transform to Columns from a single block. (26185)
  • Use batch processing in edit-widgets package. (26164)
  • Minor updates to wordpress/edit-widgets for easier Core integration. (26136)
  • TextareaControl: Use CSS-in-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (26131)
  • Add template lock attribute to column and group. (26128)
  • Reusable blocks support for widgets editor. (26097)
  • Bump @actions/core from 1.0.0 to 1.2.6. (26087)
  • First pass at using the new sidebars and widget endpoints. (26086)
  • Don’t rely on the exact count of registered widgets. (26085)
  • Try: Make class and style tests less brittle. (26079)
  • Components: Remove size prop from Dashicon. (26067)
  • Adjust media-text attributes to default stacked on mobile to true. (26041)
  • Support batch requests in data layer. (26024)
  • Fallback for dropcap when experimentalFeatures is not present. (25979)
  • Social Links: Update Placeholder experience when first inserting Social Links. (25941)
  • Check that get_current_screen is callable. (25935)
  • Social Link: Rename mail to email. (25924)
  • Autocomplete: Use hooks. (25922)
  • Skip broken template-part end-to-end test until it can be fixed. (25918)
  • Heading block: Add wide and full width options. (25917)
  • Social Links: Avoid conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with themes ul text-indent. (25916)
  • Site editor: Store navigation panel’s active menu state in the store. (25906)
  • Version bump to 9.1.1. (25904)
  • Export and document LinkControl’s building blocks. (25901)
  • Prevent networknetwork (versus site, blog) requests related to ephemeral posts in the widgets editor. (25899)
  • FSE Navigation Sidebar: Move navigation sidebar in DOM hierarchy. (25884)
  • Template part selection component – fix keyboard controls. (25881)
  • FSE Document actions – wrap with heading. (25874)
  • Extract wordpress/reusable-blocks from wordpress/editor. (25859)
  • Unify help description text styling. (25852)
  • BaseControl: Use CSS-in-JS. (25842)
  • Iterations on options modal. (25837)
  • BlockSelectionClearer: Use hooks. (25824)
  • Update pull request documentation URLs. (25815)
  • Add a dark mode to the post title. (25796)
  • Automatically generate required preset classes. (25768)
  • Ensure focus of input when InputControl spinner arrows are pressed. (25753)
  • External Link: Use CSS-in-JS. (25751)
  • Update improve backward compatibility for deprecated settings. (25738)
  • Initialize the state before rendering widgets editor. (25736)
  • Add color palette edit functionality to global styles. (25711)
  • UnitControl: Enable keyboard access (via tab) to unit select by default. (25704)
  • Add EditorStyles CSS to the widgets editor. (25699)
  • Display before_widget/after_widget when rendering WP_Widget_Block. (25693)
  • Remove the right margin for the right-most list items in the lastest posts block. (25688)
  • Update and move some Query filters. (25674)
  • Remove duplicate key from tsconfig.base.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.. (25664)
  • Try adding a ‘spotlight mode’ type effect when template part or child is selected. (25656)
  • Gallery: Add labels to img, figure and figcaption elements for accessibility. (25560)
  • Navigation component: Add back button click handler. (25556)
  • Hide the quick side inserter when the user is typing. (25548)
  • Add border to block "Edit as HTML" style. (25539)
  • Show PostFeaturedImage in editor. (25412)
  • Don’t allow duplicate selectors in styles. (25399)
  • Gallery: Add a margin declaration. (25291)
  • Page parent selector with ComboboxControl. (25267)
  • Add Align support to Separator block. (25147)
  • REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.: Introduce batch controller. (25096)
  • Upgrade TypeScript to v4. (24892)
  • Use UnitControl instead of RangeControl for column width. (24711)
  • Add UI tests to unsupported block editor. (23729)
  • Add a description to the Site Title block. (23462)
  • Add storybook story for the FocusableIframe component. (22324)

Performance benchmark

VersionLoading TimeKeyPress Event (typing)
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/ 9.25.1s31.29ms
Gutenberg 9.15.3s31.03ms

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

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

Editor chat summary: 30 September, 2020

This post summarizes the latest weekly Editor meeting (agendaslack transcript). This meeting was held in the #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor 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 on Wednesday, September 30, 2020, 08:00 AM MDT and was moderated by @annezazu.

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

Gutenberg 9.1.0 was released today. Update your sites and stay tuned for a “What’s New” post for the release. As @youknowriad mentioned in slack, “193 commits and 77 contributors for just a single release”. Thanks to everyone who helped!

Monthly Plan

Key Project Check-in

Here’s the overarching plan for September. From there, people involved in the 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., Global Styles, and Editor focused APIs gave more granular updates:

Widgets screen from @mapk:

  • Legacy Widget 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. UIUI User interface has been updated to reflect 3rd party widgets as block variations.
  • The UI around widgets inside each widget area has been updated with labels and borders.
  • 3rd party widgets can be found in the Inserter now and added similarly to blocks.

Global Styles & Editor focused APIs from @youknowriad and @jorgefilipecosta:

  • Improvements made for the APIs for Block Authors (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 authors (theme.json) to control the editor. Unfortunately, we might not be able to ship all of this on 5.6. theme.json APIs might come later.
  • Functionalities were merged for Global Styles that allow the editor to be controlled from theme.json infrastructure e.g: colors, font sizes , gradients etc. This also opens the option of settings depending on the block, e.g: different colors for a paragraph and a heading.
  • There is currently a PR for Global Styles that allows users to edit the color palette using the global styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. This is the first time that user control of editor settings is being allowed. This work exposed some limitations currently in place that are being solved with different PR’s.

October Preview

With the month winding down, I gave a preview of the “What’s Next” post for October:

  • Navigation Screen & Block work is being put on pause in order to focus on the Widget Screen to increase the chances of inclusion in 5.6. There will be a full announcement post about this (why the decision was made, what factors were considered, etc) on Make Core! In the meantime, a call for testing post for the Widget Screen was shared.
  • Preparation for 5.6 will be a big focus with 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 coming up on October 20th and that acting as a cut off point for features being added. You can see the 5.6 “Must Haves” in this project board.
  • Work will continue with Global Styles, Editor APIs, and Full Site Editing in a similar cadence as the previous few months.

Delaying 9.2 Release

Finally, @youknowriad mentioned that since Beta 1 for WordPress 5.6 is due on October 20, it’s likely that the next Gutenberg release will be delayed by one week in order to match the dates and include as much features as possible. This would mean Oct 19th will be the RC for 9.2 and the stable release will be on Oct 21 since the packages can be incorporated into Core before Beta 1.

Task Coordination

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.  Remember: don’t just focus on code contributions!

@karmatosed

@ntsekouras

@itsjonq

Continue to working on and exploring various aspects of Design Tools through the G2 Components project. Some aspects include:

  • Improved coding experience with inline documentation.
  • Optimizing performance to enable the creation of complex tools (e.g. 10+ box shadow settings).
  • Exploring drag-based controls (and gesture handling).
  • Refining existing systems (such as Context, State Management, Styling)
  • Much of this has been written about on the G2 Components blogblog (versus network, site):
    https://g2components.wordpress.com/
  • Finally, hosting a Zoom tomorrow (at 2PM EST). It’s a casual thing and you’re welcome to join if you’re interested. If you can’t make it, no worries as it will be recorded.

@aristath

  • Columns can now accept non-percent values for width. This will help FSE themes achieve more layouts .
  • Focused on global-styles and how FSE themes can leverage them.
  • Trying to improve FSE performance.
  • Continuing work on splitting block-styles and only load assets for rendered blocks  

@annezazu

Working on finalizing What’s Next for October, nearly have something ready to share for the core editor release process for a major WordPress release (major props to @jorgefilipecosta and @isabel_brison for working on this with me), various triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. efforts, and finally some light testing!

@vindl

Will be reviewing the PRs for exposing templates in site editor’s navigation sidebar as well as some updates to base navigation components: Search Control in Menu Titles & Add Back Button click handler.

@nrqsnchz 

  • Worked on design proposals for Video Block: Subtitles #7673
  • Made a design proposal for Video Block: alternate sources such as ogv and webm file formats #9457
  • Started working this week on Allow users to customize keyboard shortcuts #3218

@addiestavlo

Continuing work towards allowing hovered template parts to have their titles shown in the site editor 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.’s document actions component as well as working to enable a spotlight mode type effect when editing template parts.

@jeremyyip

@mapk

  • Query block patterns/layouts.
  • Query block flows with @mariohamann
  • Widgets screen reviews and testing

@youknowriad

  • Working on stabilizing the support flags for (colors, font sizes.)
  • Iterating on the ComboboxControl component and hoping we can remove all the perPage: -1  api requests
  • I’ll continue on some of these, I’m hoping to get back to the Custom CSSCSS Cascading Style Sheets. per block PR and block support flags support server side

@David Szabo

Experimenting with the Navigation sidebar. Working on adding templates to the Navigation in this PR which includes whole rework of the navigation and a new feature which allows us to edit templates that only exist as theme files. Other than the PR mentioned above, I’m fixing this and that related to Navigation sidebar and reviewing others’ PRs! 

@jorgefilipecosta

  • Reviewed multiple PRs that were opened.
  • Continued the conversations on font related PR’s.
  • Worked on expanding theme.json editor controls.
  • Worked on user configurable color palettes.
  • Next week I will continue iterations on the PR’s that are open. I will submit parallel PR’s to address the current limitations the user configurable settings exposed.

Open Floor

Should we create a Twenty Twenty-One 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/ project board containing issues that can help improve the upcoming new default theme? Raised by @paaljoachim.

After a brief discussion about the current repository for Twenty Twenty One, it was decided not to separate out a project board as there are people working across both core editor and the theme project who can help get any issues handled.

Request to provide feedback/discuss the Gutenberg developer documentation proposal. Raised by @justinahinon.

Justin posted this about a month ago and would like feedback on this before work begins. Thanks to this conversation, a flurry of people shared they would be game to help with different pieces including:

Anyone interested in helping with this work, please feel free to comment on the post directly or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” Justin!

Request for a PR review for DateTimePicker with react-datepicker component. Raised by @retrofox.

For context, as @retrofox mentioned, “we started to look into the implementation just to highlight some events in the calendar, and why not add an events tooltip for every day. It’s tied to when the user wants to schedule a post.” However, after some progress, switching to a reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-component dependency was considered for the DatePicker component. The reasons for this switch are detailed in the PR.

At this point, it would be very helpful to get feedback along with any possible issues that haven’t yet been considered in this approach. If you are able to help out here, please do so!

#core-editor-summary, #gutenberg

What’s new in Gutenberg? (30 September)

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/ 9.1 is out with almost 200 commits and 77 contributors! The main focuses for this release are iterations on the main projects for WordPress 5.6: the Widgets Screen and 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. 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..

Important progress has been made on the Global styles project with the possibility to use the theme.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. config file to control the block editor features and presets (color palette, font sizes, enabling/disabling features).

Also, the release includes some nice little improvements to the UIUI User interface and several blocks. Among these changes, the block patterns are now organized per categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. in the block inserter to help navigate the list of available patterns.

9.1 🇲🇹

Features

  • Add “open in new tab” feature to Social Links Block. (25468)
  • Add Image Size control to the Media & Text block. (24795)

Enhancements

  • Inserter: Add block pattern category selection. (24954)
  • Reduce minimum height to 1px for the Spacer block. (25528)
  • Show the Fullscreen keyboard shortcut. (25395)
  • Improve the Audio block 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. transform to account for all sources. (25114)
  • Code block: Allow HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. editing & rich text content. (24689)
  • Remove appender from unselected Buttons and Social Icons block. (25518)
  • Widgets Screen:
    • Match the post editor inserter design. (25681)
    • Register legacy widgets as block variations. (24905)
    • Use the default block list appender for the 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. areas. (25635)
    • Add titles to Legacy Widgets. (25638)
  • Buttons block: Lighten editor DOM. (23222)
  • Copy: Reword block settings menu item labels. (22955)
  • Add a tooltip to the Drag & Drop handle. (25606) (25614)
  • A11yAccessibility 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):
    • Add aria-haspopup property to the BlockNavigation component. (25605)
    • Add aria-haspopup property to the TableOfContents component. (25603)
    • Add aria-haspopup to the ToolSelector. (25600)
    • Add aria-haspopup to the MediaReplaceFlow button. (25597)
    • Add aria-haspopup attribute to CustomGradientBar component. (25571)
    • Add aria-haspopup to CircularOptionPicker component. (25564)
    • Add aria-describedby to featured-image button. (24888)
  • Don’t show heading ancestor blocks in Document Outline. (25599)
  • Support the default link config for the Gallery and Image blocks (image_default_link_type). (25578) (25582)
  • Social Icons Block: Let icons wrap. (25334)

New APIs

  • Add new ComboboxControl. (25442)
  • Data Controls: Add new syncSelect control. (25336)
  • DateTimePicker: Add support for highlighting days. (22032)

Bug Fixes

  • Widgets Screen:
    • Auto expand the last selected widget area when opening the inserter. (25669)
    • Ensure all widgets are properly initialized when they’re added, do not unmount widgets once they’re mounted. (25645)
    • Fix Legacy widget block previews and use iFrames. (25443) (14643)
    • Report save errors. (25408)
    • Fix global inserter. (24908)
  • Fix RangeControl direct entry in input field. (25609)
  • A11y:
    • Fix the color contrast in the code editor. (25593)
    • Fix Publish sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. Cancel button not usable through screen readers. (25441)
    • Fix keyboard navigation on the Image block toolbar. (25127)
    • More block: Use an actual placeholder for input text. (23836)
  • Fix nested container smart margins. (25527)
  • Fix add_filter instead of apply_filters. (25512)
  • Fix the WordPress embed preview in the editor. (25370)
  • Remove Embed block aspect ratio classes on url change. (25295)
  • Remove duplicate help item. (25283)
  • Fix Block Directory author average rating formating. (24732)
  • wordpress/api-fetch:
    • Fix preloading middleware referencing stale data. (25550)
    • Check nonce 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. value before skipping adding it. (25458)
  • Use esc_html instead of esc_attr in the Archives block. (25476)
  • Fix Canceling Drag and Drop using ESC key. (25317)
  • Cover block: Add explilcit box-sizing style. (25115)
  • Use a ComboboxControl for the post author selector to fix loading issues for sites with a big number of authors. (23237)

Performance

  • Avoid relying on DOM events to measure the loading time. (25288)

Experiments

  • Site Editor Screen:
    • Fix wrong close label in the block inspector. (25424)
    • Add basic template information to editor header. (25320)
    • Fix the footer styling. (25152)
    • Add a reset button to global styles sidebar. (25426)
    • Show document subtext if template part child is selected. (25544)
    • Add navigation panel. (25506)
    • Fix site base URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (25409)
  • Post and Site Blocks:
    • Add link option in PostTitle block. (25341) (25397)
    • Register the Site Logo block using register_block_type_from_metadata. (25289)
  • Themes and global styles:
    • Support defining colors and gradients config from theme.json. (25419)
    • Support defining font sizes config from theme.json. (25516)
    • Support custom units on theme.json. (25217)
    • Add separate support keys for color and background color. (25314)
    • Allow themes to enqueue custom CSSCSS Cascading Style Sheets. variables via theme.json. (25446) (25619)
    • Refactor theme.json format. (25301) (25407)
    • Update theme json documentation to account for latest changes. (25369)
  • Block API: Introduce useBlockWrapperProps hook to use light block DOM in the editor. (23034) (25679) (25554) (25515)
  • Navigation block and screen:
    • Handle block menu items. (24846)
    • Avoid auto-focusing Navigation block in Navigation screen. (25592)
    • Change the block description. (25531) (25555)
    • Allow Social Links within Navigation Block. (25357)
    • Wrap navigation editing features with filters. (25329)
    • Add move markers to list view. (25205)
  • Iterating on the Navigation Component (25608) (25495) (25572) (25540) (25520) (25507) (25367) (25364) (25340) (25327) (25281) (25280)

Documentation

  • Add a data format and flow architecture document. (25299)
  • wordpress/env: Add documentation for inspecting the docker compose file. (25666)
  • Add new block supports page to the handbook. (25647)
  • Block Directory: Add developer documentation. (25591)
  • Move custom-fields note to the ‘Register MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Field’ documentation. (25584)
  • Add Block Editor Components documentation:
    • AlignmentToolbar (25210)
    • BlockFormatControls (25573)
  • Add Caveats section for MAMP. (25444)
  • Add FormTokenField story. (25439)
  • Improve documentation for the data registry control and selector creators. (25335)
  • Update git workflow documentation. (25164)
  • Refresh the Getting Started guide. (25090)
  • Update 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/. troubleshooting guide. (24105)
  • Enhance the Block Context documentation. (25272)
  • Typos: (25359) (25653)

Code Quality

  • Update the Dashicon component to rely on the font that ships with WordPress. (20003)
  • Add new $gray-200 SASS variable and use for skeleton borders. (25491)
  • Block Editor: Remove empty module focus-detector. (25561)
  • Image block: Avoid remounting to focus caption. (25493)
  • Add explicit boxSizing style to Placeholder component. (25463)
  • Remove classic block code used to support WP 4.9. (25365)
  • Add RichText value type definition. (25363)
  • Avoid global DOM dependencies. (25332)
  • Use controls from the Data Controls package instead of local ones. (25235)
  • RichText: Simplify withFormatTypes as hook. (23145)
  • Video block: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (25513)
  • Remove wp_area custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept.. (25497)
  • Post 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.: Remove redundant condition. (25490)
  • Move legacy-widget block over to edit-widgets package. (25371) (25404)
  • Don’t use percent units for line-height. (25398)
  • Change wording and names to not include “whitelist”. (25396)
  • Don’t discard all promises results when one of them rejects. (25302)
  • Block Directory: Switch to blocks.registerBlockType 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.. (25264)
  • Fix some javascript warnings. (24996)

Various

  • Remove the Block-based widgets editor from the 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.. (25626)
  • Cover block: Remove default position (center/center) className from rendering. (25346)
  • Fix the default label position in SelectControl. (25427)
  • DropdownMenu tooltip default to true. (25391)
  • Pass block pattern name when using replaceBlocks and insertBlocks. (25165). (25433)
  • Babel Preset: Update Babel version to 7.11.x. (25351)
  • InputControl: Remove floating label variant. (25308)

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 9.16.9s29.04ms
Gutenberg 9.06.5s29.19ms
WordPress 5.56.5s28.01ms

Kudos for all the contributors that helped with the release. 👏

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

Navigation Screen Removed from 5.6 Release Features

The Navigation Screen project was slated for inclusion in 5.6. Given the volume of work left to bring it to a stable state coupled with the imminence of the 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 deadline for feature inclusion, contributors @andraganescu, @noisysocks, @talldan and myself, as Editor Tech Lead for 5.6, have decided to exclude it from this release. 

The Reasoning

The Navigation screen is still in experimental state in 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/ 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, so it hasn’t had any significant real-world use and testing yet. The deadline set to bring it out of experimental state was the Gutenberg 9.1 release, which would have allowed for 3 weeks of testing before Beta 1. That deadline was announced at Navigation triage on the 16th of September.

When the Gutenberg 9.1 RC1 was released on September 29th, there were still three major blockers unresolved: 

  •  Completion of the MVP redesign: needs design and 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) feedback and iteration, as well as substantial development work.
  • Adding Navigation editor to the Customizer: needs design and technical investigation on the development side, as well as actual implementation.
  • Adding Links block: needs substantial development work.

On top of this, there are multiple smaller issues still in need of design and development. Therefore, the Navigation screen did not seem stable enough to ship with Gutenberg 9.1. 

Additionally, there is another big feature slated for 5.6 that is close to completion but still needs some extra work: the Widgets screen. It is currently undergoing testing in the Gutenberg plugin, and contributors who were previously focused on the Navigation screen will now be able to bring their full attention to Widgets and ensure it lands smoothly in 5.6. 

Next Steps

The priority now is ensuring that the Widgets screen gets thoroughly tested so any bugs are uncovered before Beta 1. We ask anyone who is able to help with this effort to read this post with more details on how to help.

For those wanting to help with development, we encourage you to attend or review the weekly triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions in the #core Slack channel on Wednesdays at 7am UTC. The focus of these sessions has shifted from the Navigation screen to the Widgets screen, as of this week. 

As for the Navigation screen, active development will continue after 5.6 is ready, towards the end of November.

#5-6, #core-editor, #gutenberg

Editor chat summary: Wednesday, 16 September 2020

This post summarizes the latest weekly Editor meeting (agenda, slack transcript), held in the #core-editor 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, on Wednesday, September 16, 2020, 14:00 UTC.

Thank you to all of the contributors who tested the 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. releases and gave feedback. Testing for bugs is a critical part of polishing every release and a great way to contribute to WordPress.

WordPress 5.6

Project board to track issues for inclusion in WordPress 5.6.

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

Gutenberg 9.0 was released on 16th September: 

Monthly Plan

September Monthly Priorities.

Updates on the key projects

@andraganescu

  • Both the navigation editor and the widgets editor need all the help they can get. The current target to get the Navigation editor out of experimental is Gutenberg 9.1, and if not it will not make it into WP 5.6 due to too little time for testing and consideration before beta 1
  • The work continues on the widgets editor with a lot of feedback since it was removed from experimental 
  • More details can be tracked on project boards for Navigation editor and Widgets editor

@ntsekouras

  • There is some ongoing work on Query 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. and here is where design is discussed/iterated: https://github.com/WordPress/gutenberg/issues/25198.Since there are many things to consider, feedback is more than welcome.

@nosolosw

There’s been some momentum around the Global Styles project lately (with Jorge, Riad, myself, and others working on this), these are the highlights:

  • Gutenberg 9.0 is the first to come with a UIUI User interface for users to update the theme styles (sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. at the site editor).
  • Most of the add_theme_supports have been ported to theme.json  allowing themes to have more fine-grained control about the features.
  • There’s been a reorganization of the theme.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. (docs) to better clarify its purpose.
  • Discussion on allowing creating your own CSSCSS Cascading Style Sheets. variables via Global Styles

Task Coordination

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

@ntsekouras

  • Added search in Query block
  • Added option to make PostTitle block a link
  • Fixed aspect ratio related classes on embed block
  • Reviews, issues, and triaging

@zieladam

  • Fixed global inserter in widgets editor
  • Moved legacy-widget block to edit-widget package
  • Working on registering widgets as block variations

@nosolosw

  • I’ve been helping others land features related to theme.json (reviews), plus landed some bugfixes and minor follow-ups related to that.

@mcsf

  • Added tiny improvements to Gallery block, ID-less shortcodes fall to 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
  • Discuss server-side solutions for block-supports
  • Discuss global styles architecture
  • Release 8.9.3
  • Explore dynamic content solutions for FSE templates
  • Reviews

@addiestavlo

@soean

@mapk

  • Query block iterations
  • 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 feedback and followups

@andraganescu

  • I’ve picked up some issues from Navigation
  • Wrap navigation editing features with filters
  • Added edit in place for menu name

@vindl

@itsjonq

  • Continue to explore/refine Component 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. / style ideas in G2 Components
  • Lately, been focused on the figuring out structure details for control variations that render within Gutenberg via this G2 Layouts/Segmenting controls thread

@aristath

  • I’ve been working on FSE & Global styles, trying to build a theme as a way to discover issues and fix them. Lots of PR reviews, I’ll start working on the Query block next since I’m finding things as I go.

@annezazu

  • Launched the guide for devs navigating the community
  • Focusing on triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. and testing this week to get back up to speed on the latest!

@copons

  • The main focus on the new Navigation component.
  • I’ve recently merged the initial PR which is not used anywhere yet and is exported as experimental.
  • The interface is in active development and will change a lot, though; while it works, it’s really not supposed to be used yet.
  • Meanwhile, it can be tested in the Storybook.
  • I’ve opened several issues for the next steps and discussions about style and accessibility.
  • Once the component is polished and fine-tuned enough, the plan is to start using it as template selector in the Site Editor

@jorgefilipecosta

  • Updated the global styles setProperty mechanism and solved an issue that made custom gradients not work on global styles
  • Refactored the global style’s shape
  • Added separate support keys for color and background-color
  • Continued the iterations on the font-family and font-weight PR’s
  • Did some PR’s reviews and participated in discussions around the repository

Open Floor

@jonsurrell

Some discussion around more descriptive post title for “The Gutenberg Release notes”. suggestion to add 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 version for more clarity. There was no decision and further discussion for same to be done before next release post.

@pierlo

Asked if extending the external preview links dropdown would be included for WP 5.6. A PR is in the work which should very likely be merged well before the 5.6 beta begins 20th October.

@aristath

Some discussion around Query block to inherit default from the global query and allow the user to customize them as needed. This will avoid overriding the global query and replacing loops. No decision, to be discussed further.

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

What’s new in Gutenberg? (16 September)

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/ 9.0 is out! The main focuses for this release are improvements to the Navigation Screen and to the Query 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 Navigation screen has a new and improved look, and now supports drag and drop inside the list view:

Lots of cool features have been added to the Query block, including search, filtering by author and support for tags. Here are some pics of the updated interface:

9.0

Features

  • Query block:
    • add search. (25222)
    • add filtering by author support in Query block. (25149)
    • add order and order by support. (24691)
    • add tags support. (25005)
  • Navigation screen:
    • add drag and drop to List View. (23952)
    • implement redesign of screen. (25178)
    • add support for advanced menu item properties. (25062)

Enhancements

  • Drag&Drop: add drag handle to block toolbar. (24852)
  • Drag&Drop: improve single block case. (25107)
  • Include the block variations on the inserter selector. (25182)
  • List view styling improvements. (25143)
  • Update pencil icon. (25135)
  • Refactor and make consistent post and site headers. (25134)
  • Limit the block slash inserter to 9 items and show most used by default. (25113)
  • Polish menu item icon locations. (25106)
  • Improve the block and patterns search algorithm. (25105)
  • Template part: attribute feature parity with group block. (25029)
  • Allow sharp gradients. (24967)
  • Post content: show placeholder if trying to render itself. (24010)
  • Add reusable block icon. (23552)
  • Let ID-less gallery shortcodes fall to 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. (25144)
  • Mirror WordPress 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 install text for blocks. (25084)
  • Allow inserting an h1 using # + space. (25075)
  • Widgets screen: add plugin area. (25074)
  • Add title attribute to Navigation Link block. (24993)
  • Add a way to change template parts. (24990)
  • Transform multiple heading blocks to list or paragraphs. (24977)
  • Remove redundant type badges in navigation link control. (24885)
  • Fix multiple trailing inserters for nested InnerBlocks. (24836)
  • Search Block: Add button, label, and width options. (24666)
  • Display labels instead of icons in top toolbar. (24304)
  • Add option to show icon labels. (24234)
  • Add a "reinstall" button when a block type is not found. (22631)

Bug Fixes

  • Template part: fix rename before customize 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.. (25206)
  • Template part: fix auto-drafting to support sub-directories. (25063)
  • Template part: use cleaned slug to query. (25030)
  • Classic block: optional chain on possibly null editor. (25163)
  • Classic block: show contents on load. (25162)
  • Embed Block: Fix crash in isFromWordPress helper if preview.htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. is false. (25140)
  • Cover block: fix width 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.. (25103)
  • Navigation block: reduce subnavigation arrow padding. (24200)
  • GlobalStyles: fix nested features algorithm. (25215)
  • GlobalStyles: fix settings name. (25040)
  • Widgets screen: convert the toolbar to ARIA toolbar. (25111)
  • Widgets screen: add labels for settings and close button. (25101)
  • Navigation screen: fix creating Navigation from pages or menu with HTML in title. (24673)
  • Element: add and upgrade @types/{reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.,react-dom} dependencies. (25086)
  • Add safeguard to AuthorSelect component until authors are fetched. (25214)
  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher error when users don’t have access to the Appearance menu. (25073)
  • Polish horizontal movers. (25037)
  • Fix PHP Notice: Check that the query arg exists before using it. (25006)
  • Fix gradient swatches stacking badly with scrollbar. (25002)
  • Fix unlinked padding controls JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error. (25000)
  • Show external icon on help button. (24622)
  • Check if block attributes exist before splitting. (25229)
  • Revert "InnerBlocks: Introduce prop to specify render callback for each block.". (25196)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Bring back support for nested _fields values. (25083)
  • Prevent TypeError for projects without a local Prettier configuration. (25068)
  • Image Block: Properly show errors on drag n drop. (25004)
  • Add block inspector virtual bubbling option. (24991)
  • Remove extra slash from $block_json_file. (24829)
  • Inserter: Test to make sure the Inserter menu is closed. (24610)
  • Date: Update moment-timezone package to support string timezones. (22866)
  • Fix enqueue presets for global styles. (25286)
  • Fix stylesheet generation. (25293)

Experiments

  • Group block: add padding support. (24966)
  • Control the block editor via theme.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.:
    • support for custom link color. (25148)
    • support for custom spacing. (25141)
    • support for custom line heights. (25043)
    • support for custom font sizes. (25038)
    • support for custom gradients. (24964)
  • Navigation component: composition proposal. (25057)
  • Replace accessibilityLabel by label on RadioGroup. (25128)
  • Global styles:
    • add sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. at edit site screen. (24250)
    • print minified css. (24924)
    • centralize style & support mappings for blocks. (25185)
    • centralize client side global styles mappings. (25056)
    • set property to change one property accept all lodash paths. (25159)

Documentation

  • Add readme for UngroupButton. (25142)
  • Fix typo in AlignmentMatrixControl readme. (25125)
  • Update AlignmentMatrixControl readme. (25124)
  • Add preview options component readme. (25104)
  • Add block types list component readme. (25066)
  • Fix typo in block base themes tutorial URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (25024)
  • Update block inspector component readme. (24998)
  • Add block variation picker component readme. (24995)
  • Update Versions in WordPress doc to include 5.5.1. (24988)
  • Add block parent selector component readme. (24962)
  • Add block icon component readme. (24947)
  • Update dev environment setup. (24871)
  • Correct since version for block parser package. (24819)
  • Add BlockCard component readme. (25150)
  • Fix link to ubuntu docker notes. (25060)
  • Fix/block parent selector component readme. (24997)
  • Update Storybook URL from text to a real link. (24974)
  • Update triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. doc to include pull request mentions. (23105)

Code Quality

  • Repo: Add .gitattributes to specify text=auto. (25224)
  • Block Directory: Use Array.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 implement new/unused block selectors. (25211)
  • Data: Remove flowRight call from metadata reducer. (25180)
  • Data: Add a comment about why we normalize resolvers to objects with fulfill method. (25102)
  • Api-fetch: Remove redundant next parameter from middleware calls. (25001)
  • Api-fetch: Simplify the code that executes the handlers. (24999)
  • Block Supports: Ensure consistent output in different PHP versions. (25240)
  • Add regression end-to-end test for the classic block initialization issue. (25169)
  • Update or retire deprecated colors. (25213

Build Tooling

  • Env: Update docker volumes during wp-env start. (24778)

Various

  • Update package-lock.json. (25223)
  • Update gradle-node-plugin to use actively maintained fork. (25208)
  • Bump @storybook/react major version. (25161)
  • Use WordPress Menu 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.. (25132)
  • Update modularity.md. (25007)
  • Remove Embeds for Facebook and Instagram. (24472)

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 9.06.96 s28.99 ms
Gutenberg 8.96.97 s28.98 ms
WordPress 5.56.97 s27.54 ms

Kudos for all the contributors that helped with the release. 👏

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

Editor chat Summary: 9 September, 2020

This post summarizes the weekly editor chat meeting (agenda here) held on 2020-09-09 14:00 UTC. in Slack. Moderated by @paaljoachim.

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/ 8.9 release

Gutenberg 8.9 that was released on 2nd September and has been updated to 8.9.3.

Monthly Priorities

September monthly priorities.

Comment from @youknowriad
Most projects are properly on track and doing good progress.
Focus on Widgets screen, Navigation screen and Global styles.
The first experimental version of the Global styles UIUI User interface landed in 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.

Task Coordination

@karmatosed

  • Working on options and iterating the options panel.

@ntsekouras

  • Add tags and filtering by author support in Query 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. ( 25005, 25149).
  • Experiments with Query block.

@andraganescu

  • Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. and code review.
  • Worked on the Navigation editor (making menu name editable).

@youknowriad

  • Working on the theme.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. 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. to control the editor: 20588
  • Worked on the slash inserter behavior and the block search algorihm.
  • Plan to work on: Custom CSSCSS Cascading Style Sheets. support for Group block.

@paaljoachim

@mapk

  • 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 – helping to keep it moving forward. Designs are ready for implementation.
  • Query block – Exploring flows and settings.

@justinahinon

  • Working on documenting block editor packages.
  • A few PRs are on hold. Some are ready and will need a review before commit (25150, 25142, 24947). Others need refine/minor changes, plan to be done this week.

@aristath

  • Focus on performance & sustainability for FSE Themes:
  • Progressive rendering of blocks.
  • Load only styles for blocks that are used: PR 25220

@nrqsnchz

  • Working on designs and prototypes for allowing users to upload subtitles and other types of tracks to the Video block: 7673

@nosolosw

  • Details to merge the global styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. at edit-site: 24250
  • Helped with assorted reviews.
  • Next week, focus on follow-ups and pressing issues I should work on next.

@get_dave

  • Focused on triaging PRs marked as “Needs Testing” and providing fixes. Review on PR of transformation from the ‘audio’ 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. to the Audio block: 25114 whereby valid attributes for a source such as `mp3` and `wav` were ignored. (Could use some input.)
  • Check of PR which addresses an issue whereby the content of the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block isn’t parsed from its serialized form correctly: 25120 (Could use some input.)

Open Floor

Discussing Widgets

During open-floor @bph referred to the Widget screen: Adding a consistent wrapper issue. The answer: Theme developers can target the block in the block area with class names. Example: .my-widget-area .wp-block-latest-posts – 

On another issue with the comment Legacy Widget block: Identify the widget in the toolbar and/or settings sidebar @bph explored what will change for widgets. “I am utterly confused on what the future widget handling entails in respect to  widget registration, functions” and if there is a goal of feature parity. 

“The APIs you raise are probably something to look at and see whether support is possible, but we shouldn’t be expecting 1-1 parity”

  • The widgets themselves should work as close as possible with the new editor. The registration and other widget related functions should also be unchanged.
  • There will be incompatibilities in hooking into the widget editor itself as the new screen uses a completely different architecture
  • If there is anything that cannot be implemented then that will break backward compatibility. If it is possible to support things it should be attempted to be supported
  • It’s a different paradigm since it will just wrap the whole list of blocks. Widgets don’t map to blocks.
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Widgets vs. Core blocks, if a core widget like recent posts has a block equivalent, the core widget doesn’t appear in the inserter for the Widget screen. “Authors have the option to hide widgets if block equivalents are provided”. 
  • A theme developer declares block areas
  • All “clear evidence that we should be cautious with opt-in opt-out in Core” 

Check out the widget screen discussion.

Discussing A11yAccessibility 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) concerns.

@zebulan
Opened a PR to improve PanelBody’s add to give a summary when the section is collapsed. Intended to provide a solution to the a11y problems with prepublish checks and elsewhere. 25170 Needs a review. It complements: 24024

Noticed PRs involving UI changes/additions getting merged without getting any a11y feedback. Zeb had to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” the a11y team to check after the PR’s have been merged.
Important to remember the checklist on the bottom in the PR template.

@mkaz
I’m not sure every UI request must require a11y feedback, shouldn’t we all be learning a11y techniques and proper usage. It should only be required for a new control. Using the base framework should be a11y compliance if it’s not something new.

@zebulan
The a11y team is working on a list of anti-patterns. Pointing people to something like that could help.
Perhaps modify the PR template checklist to include checkbox for “does my PR not use any 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) anti-patterns?”

There is discussion in this issue: 20877 in relation to creating a standard dropdown or popover. Which would really support the a11y effort.

Check out the Open Floor discussion Zeb began.

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

Editor chat summary: Wednesday, 2 September 2020

This post summarizes the weekly editor chat meeting on Wednesday, 2 September 2020, 14:00 UTC held in Slack.

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

@jorgefilipecosta announced Gutenberb 8.9 was going to be released in some hours.

The big highlight of the release is that Widgets moved out of experiments. On the FSE front, multiple FSE blocks were implemented and are now available for testing in the FSE experience (“Site Editor”). With regards to the widgets screen, more details are shared below.

Aside from these two focuses, Gutenberg 8.9 contains some small new features, multiple 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 some performance improvements.

Monthly plan updates

Global Styles

The PR that implements the Global styles sidebar on the edit site is now out of the draft state. https://github.com/WordPress/gutenberg/pull/24250. The PR allows us to have something more concrete to test the global styles mechanism and should probably be merged soon.

Besides the main global styles PR, @jorgefilipecosta said that we have proposals for font family and font-weight picking in https://github.com/WordPress/gutenberg/pull/24868 and https://github.com/WordPress/gutenberg/pull/24978.

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

Regarding the navigation block task @andraganescu said:

They’re both being worked on. For the Navigation editor (screen) the goal currently is to bring it into a sort of MVP state (outlined in https://github.com/WordPress/gutenberg/issues/24875 and then take the same steps that we took for the Widgets editor.
Recently the editor got drag and drop into its version of the ListView.
The Navigation block is getting updates via the work on the editor.
One thing that is a bit of a blockerblocker A bug which is so severe that it blocks a release. now is the uncertainty around the “edit in toolbar” feature suggested for the LinkControl, feature which is also present in some of the editor’s interactions.

Widgets screen

Besides the big update that widgets are going to move out of the experimental state on WordPress 8.9, @andraganescu added that call for testing post in progress, and it should soon make it on the make coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blogblog (versus network, site).

Full Site Editing

Regarding full site editing @ntsekouras, is experimenting with the query block. Namely, adding tags, order, and some orderby support and transform multiple heading blocks to list or paragraphs.

Monthly plan preview

@annezazu shared a small preview of the monthly plan for September:

  • Global Styles & Editor focused APIs: hope is that work on editor focused APIs can be wrapped up in the month ahead.
  • 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. Screen: launched out of experimental, hoping for lots of feedback, working on an updated design, and have a nice set of a11yAccessibility 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) issues to work through.
  • Navigation Screen: discussing blockers to this being moved out of experimental & working on various items including nestinga fresh designenabling edit links in toolbar etc.
  • Full Site Editing: focused on milestone #2.

Task coordination

@jorgefilipecosta

Shared the following update:

Last week I was involved in helping the editor side tasks of WordPress 5.5.1. I reviewed multiple global styles related PR’s and shared some insights in the discussions that were happening. And I proposed the font family and weight picking mechanism.

Next week I will continue the reviews on global styles related PR’s. I will try to take the open PR’s I have to the finish line, and I will try to have a prototype of how to use and load third-party fonts.

@youknowriad

  • Working on theme.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. APIs to control the editor.
  • Adding spacing controls to the group block
  • Custom CSSCSS Cascading Style Sheets. for the group block (depending on the available time)

@mapk

  • Finalized Widget Screen design iterations.
  • Digging into Query block.
  • Reviewed and helped iterate on text-only topbar.

@itsjonq

@itsjonq shared the following update:

I’m continuing to work on the G2 Components project. Currently focusing on creating (also supporting the creation) of larger pieces.
One of the ways this is manifesting is through prototyping more complete UIs/experience (e.g. Navigation, and soon FSE/Global styles).
Also exploring how G2 components could be used in WP-Adminadmin (and super admin). Another focus to evaluate potential integration into Gutenberg (via `@wordpress/components`).
One of the results from this is splitting parts from the core system so that smaller chunks can be migrated (e.g. Style system)I’ve continued to host Zoom session calls + blog G2 components updates on the blog:
https://g2components.wordpress.com/Also updating the documentation as I go:
https://g2-components.com/As always, open to feedback + suggestions! From UIUI User interface designs to workflows, to documentation, etc…
I’ve received a few already, which have been lovely.

@michaelarestad

@nosolosw

Shared the following update on the agenda:

  • This week: I’ve made progress on adding an initial prototype for the global styles sidebar in the Site Editor. Just today the PR moved from draft state to open for reviews. It still needs some tweaks, but, fundamentally, it’s a candidate for merging. I’ve also been helping here and there with feedback and reviews.
  • Next week: keep pushing this work forward.

Open floor

Justify use of “Needs… Feedback”

@isabel_brison wrote on the agenda post:

I’m wondering if we should try/encourage adding comments to justify use of “Needs… Feedback” labels in Gutenberg, as it’s not always obvious which aspect of the issue/PR needs feedback. It would help if the person adding the label elaborated a little on where feedback would be useful.

@jorgefilipecosta said it makes sense that when someone uses a feedback label to also include a comment saying exactly what feedback is needed. As sometimes, the discussions get big passed by many topics, and it is not easy to know what actionable feedback is needed.

@youknowriad said that adding process over process is just raising the bar for contribution. And added that it’s also fine to ask “Why did you add the Needs thing feedback”?

@mapk referred he noticed that many designers do list out the feedback they’re looking for when a design is proposed. @jorgefilipecosta said that we should probably expand that practice to non-design PR’s.

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

What’s new in Gutenberg? (2 September)

The big focuses throughout this release cycle were full site editing (FSE) and the widgets screen. On the FSE front, multiple FSE blocks were implemented and are now available for testing in the FSE experience (“Site Editor”). With regards to the widgets screen, more details are shared below.
Aside from these two focuses, 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/ 8.9 contains some small new features, multiple 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 some performance improvements.

Widgets moved out of experiments

One of the objectives of WordPress 5.6 is to allow using blocks in 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. areas. This is a complex task, and for now there is no decision on whether the new screen should be available for all users or a subset of users. Your feedback may help weigh the options.

In Gutenberg 8.9, 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.-based widgets screen is enabled by default and replaces the default WordPress widgets screen. Themes and plugins are able to opt out of this screen by calling remove_theme_support( 'widgets-block-editor' ) or by using the gutenberg_use_widgets_block_editor filter respectively.

Your testing, feedback, and insights are very useful to inform the direction of the next iterations. If you come across any bugs, please submit a new issue in the Github repository.

8.9.0 🇧🇯

Features

  • Enable the block-based widgets screen. (24843), (24087)
  • Add character count to the info panel. (24823)
  • Latest Post Block: Allow adding links to featured images. (24548)
  • List block: Add color controls. (21387)

Enhancements

  • Disable the tools menu while the code editor is enabled. (24923)
  • Add picture keyword to the Image block. (24755)
  • Adding a maximum height to the long blocks previews. (24493)
  • Add “read more” keyword to the More block. (24794)
  • Improve the UXUX User experience of inactive widgets area on the widgets screen. (24790)
  • Trim whitespace from rendered widgets. (24789)
  • Block Directory: Explicitly close the inserter on block add. (24709)
  • Make strings translatable in block patterns. (24647)
  • Improve the UIUI User interface of the custom gradient pickers. (23802)
  • Adds suggestions for categories and formats to link controls. (22600)
  • Clarify the font size control label. (24619)
  • Convert all px values in front-facing styles to relative (em) units. (24523)

Bug Fixes

  • Fix infinite 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 the Disabled component. (24935)
  • Fix wp-env start for non-english WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. sources. (24884)
  • 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. HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. structure on the widgets screen. (24866)
  • Fix sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. flickering caused by the block preview border. (24739)
  • Don’t use an offset when dragging using a draggable chip. (24707)
  • Fix Image alignment controls styles in the Latest posts block. (24655)
  • Improve the focus state of the tags control remove button. (24632)
  • Fix Crash after undoing with the top toolbar on. (24629)
  • Avoid double borders on the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes panels. (24627)
  • Fix Inline text-color regex edge-case. (24621)
  • Fix inserter z-index. (24614)
  • Missing selected block highlighting in the list view. (24609)
  • Fix the Pullquote block text color after unsetting the main color. (24600)
  • Fix style specificity for Button blocks with outline style and background colors. (24599)
  • Remove references to $default-font from front-facing styles. (24567)
  • Center-align the block variations buttons. (24547)
  • Fix categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. select in QueryControls component. (24516)
  • Image Block: Prevent Alt and caption written during image upload from being discarded. (24471)
  • Correct the Unicode character used to represent the macOS Control key. (24452)
  • Fix undefined $block_type->supports PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher error. (24411)
  • Fix adminadmin (and super admin)-theme colors in the editor canvas. (24408)
  • Limit the number of fetched tags to avoid infinite queries. (23841)
  • Fix error when inserting a 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.) with an apostrophe. (21693)
  • Fix the alignment of the trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. post button. (24889)
  • Make legacy widgets support for non-class-based widgets. (24861) (24792)
  • Remove WP_Widget_Block from the legacy dropdown list. (24787)
  • Fix isSavingWidgetAreas selector. (24788)
  • Inserter: Update the search form placeholder text when changing tabs. (24697) (24802)
  • Avoid lossy HTML entities encoding by setting charset. (24645)
  • Embeds: Don’t transform into specialized embed block variation if it’s not registered. (24559)

Performance

  • Fix getBlocks selector performance issues causing typing lags on Gutenberg 8.8.0. (24835)
  • Preload widgets on the widgets screen. (24855)
  • Only request the required fields to populate the parent page list. (23637)

New APIs

  • Core Data: Implement _fields data reuse for entities. (19498)

Experiments

  • Site Editing: Blocks
    • Add Post Comment block. (24781)
    • Add Post Comment Date block. (24854)
    • Add Post Comment Author block. (24824)
    • Add Post Hierarchical Terms Block. (24091)
    • Adds icons and descriptions to Post blocks. (24603)
    • Make Site title block render a link. (24725)
    • Add heading level toolbar to the Site title block. (24758)
  • Site Editing: UI
    • Alert when trying to leave the Site Editor with unsaved changes. (24659) (24719)
    • Update Template Part Block Placeholder Button Styles. (24633)
    • Template Part block – add border states in the editor. (24498)
  • Global Styles and theme.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. APIs:
    • Allow enabling/disabling custom colors from theme.json config. (24761) (24932)
    • Rename features.colors to features.color. (24933)
    • useEditorFeature: Take block context into account. (24416)
  • Navigation block and screen:
    • Add Post, Page, Category and Tag variations to Link. (24670)
    • Add block inspector to nav screen. (24669)
    • Add opt-in Navigation block rendering. (24503)
    • Support drag-and-drop for submenus of navigation blocks. (24479)
    • Fix invalid textarea markup. (24641)
    • Add unit tests for edit-navigation store. (24681)

Documentation

  • Document Components
  • Update tutorial Creating a block-based theme. (24736)
  • Correct BoxControl values in README examples. (24717)
  • Add ToggleControl at related components section in FormToggle documentation. (24636)
  • Typos and tweaks: (24857), (24811), (24695), (24650), (24628).

Code Quality

  • Keep the default color CSSCSS Cascading Style Sheets. variables for npm package consumers. (24890)
  • Refactor components as functional components:
  • Refactor and move drag and drop geometry code. (24715)
  • Only update state if we have a valid reference. (24496)
  • Add state for storing dragged block client ids to block-editor store. (24782)
  • Remove commented-out blank line. (24858)
  • Simplify gutenberg_widgets_init when $hook === ‘widgets.php’. (24793)
  • Refactor block drop event handlers into a single hook to support drag and drop in List View. (24649)
  • Move DOM utility functions from wordpress/blocks to wordpress/dom. (24618)
  • Fix ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning on text color formatter. (24686)

Build Tooling

  • Update package lock file. (24815)
  • Update the minimum version and the tested up to flag of the 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. (24693)
  • Build: Make the watch rate slower to avoid using a lot of CPU while developing. (23998)
  • Fix Performance Tests on CI. (24925)
  • Add tests for slashing behavior. (24785)
  • Add permissions PHPUnit tests. (24784)
  • Update browserlist dependency. (24756)
  • Allow local Prettier configuration to take precedence in the recommended ESLint configuration. (24590)

Performance Benchmark

Gradual changes in the editor have made its rendering pipeline more asynchronous. As a result, the usual metrics (loading time, typing time) that we collect in the performance benchmarks may have not always represented the performance gains and losses experienced by some users.

We are improving the way times are measured to account for the more async nature of the editor rendering. We will update this post with performance results once we are confident that they accurately measure the performance of the editor.

The synchronicity changes in question only affect Gutenberg 8.8 and 8.9.
The numbers shared for previous releases are still an accurate way of measuring the editor’s performance.

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