JavaScript Core Chat Summary: 21 July 2020

This is a recap of the 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/. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. chat held on Tuesday, July 21, 2020, 14:00 UTC. You can read the full meeting discussion here in Slack.

If you have an item you would like to discuss at the next meeting, please add it to the next agenda document.

@psykro hosted

There were no agenda items for today, so @psykro moved straight to the open floor

Open floor:

  • @itsjonq was having some problems with his laptop crashing when using a Docker local development environment.
    • If anyone has any other suggestions, please let him know.

@psykro closed meeting after 30 minutes.

Next chat is on Tuesday, July 28, 2020, 14:00 UTC in the #core-js channel on 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/.. If you have anything you would like to discuss, please add it to the agenda document.

Weekly JavaScript news round up

WordPress 5.5 related

A number of dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and posts related to what’s coming in WordPress 5.5 (for the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor and JavaScript were shared this week). I thought it’d be handy to group them all together in this week’s issue of the roundup.

  • The Dashicons library receives it’s final update in WordPress 5.5. If you’re using it in any products, it will still be available in WordPress, however its good switch to using the @wordpress/icons package instead (if suitable).
  • The register theme feature API is landed. This allows custom theme features to be registered and exposed on the theme features support REST endpoint.
  • In WordPress 5.5, images will be lazy loaded by default. Some great work here in preventing layout shifting.
  • An overview of all that is landing in WordPress 5.5 around Block Patterns.
  • New and modified REST API endpoints landing in WP 5.5. Includes notes on: wp/v2/block-types, wp/v2/plugins, wp/v2/block-directory, wp/v2/media/10/edit, block renderer route changes, and majority of theme 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. information is now being returned on the wp/v2/themes endpoint.
  • There are also some REST API Paramater and JSON Schema changes coming. In particular, the work that has gone into improving the options for more defined schema’s is sweet.
  • createInterpolateElement is landed. This is particularly useful for translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. string interpolation in ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. components.

dotOrg news

#javascript, #meeting-notes

Introducing createInterpolateElement

With the release of WordPress 5.5 there will be a new function available on the wp.element package, createInterpolateElement.

This function creates an interpolated element from a passed in string with specific tags matching how the string should be converted to an element or ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. node given a conversion map value.

This function offers the ability to handle a couple use-cases:

  • When you have a template string with placeholders for where you inject known htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. elements or React components.
  • When you have a translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. string where you want to communicate placeholders for html elements to those translating the string.

One problem with the above use-cases in the past has been preserving the security of html string rendering within react without using RawHTML or dangerouslySetInnerHTML.

Of course the second use-case above is the primary one for which this function was created. As an example, for the given string:

"This is a <span class="special-text">string</span> with a <a href="https://make.wordpress.org">link</a> and a self-closing <CustomComponent />."

You could make the above translatable via doing something like this:

import { __ } from '@wordpress/i18n';
import { createInterpolateElement } from '@wordpress/element';
import { CustomComponent } from '../custom-component.js';

const translatedString = createInterpolateElement(
  __( 'This is a <span>string</span> with a <a>link</a> and a self-closing <custom_component/>.' ),
  {
    span: <span class="special-text" />,
    a: <a href="https://make.wordpress.org"/>,
    custom_component: <CustomComponent />,
  }
);

#5-5, #core-js, #dev-notes

JavaScript Core Chat Summary: 14 July 2020

This is a recap of the 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/. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. chat held on Tuesday, July 14, 2020, 14:00 UTC. You can read the full meeting discussion here in Slack

@adamsilverstein hosted

There were no agenda items for today, so @adamsilverstein moved straight to the open floor

Open floor:

  • @adamsilverstein plans to publish the JavaScript Core team blogblog (versus network, site) post this week
    • You an view this post on ASBlocks here
    • The plan is for this to be “evergreen” and linked from our meeting record and 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/. room
  • @mkaz shared in issue he’s been trying to figure out here. Any feedback or suggestions to resolve it are welcome.

@adamsilverstein closed meeting after 25 minutes.

Next chat is on Wednesday, July 21, 2020, 14:00 UTC in the #core-js channel on Slack.

Weekly JavaScript news round up

#javascript, #meeting-notes

JavaScript Core Chat Summary: 07 July 2020

This is a recap of the 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/. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. chat held on Tuesday, July 7, 2020, 14:00 UTC. You can read the full meeting discussion here in Slack

@nerrad hosted

There were no agenda items for today, so @nerrad moved straight to the open floor

Open floor:

  • @youknowriad has opened a PR for this ticket to bring the CSSCSS Cascading Style Sheets. variables support on 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/ into Core, and is hoping it can be ready for 5.6. Feedback and testing is welcome
  • @gziolo mention that thanks to @aduth we now have the ability to lazily import a module, installing it automatically if missing.
    • @adamsilverstein discussed the implications of lazy importing a module and how that might change the structure of code in GB and elsewhere
    • @gziolo pointed out that this is meant for non-production code with many dependencies installed, so the idea was to install them on demand
  • @gziolo is exploring a way to provide a local path when you want to import something that isn’t a package name
  • @gziolo is also continuing work started on 3rd party templates for Create 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 on prior work from @fabiankaegy and has run into an interesting challenge. Suggestions and feedback welcome.
  • @mkaz raised an issue he’s run into twice now  related to the static analysis failing on a commit.
    • this can be viewed on a live PR here
    • a lengthy discussion following with @nerrad summarizing the problem as follows: Gutenberg has a GithHub action check that ensures the package-lock.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. file is not changed when npm install is run. Since the Gutenberg project is set to require the latest version of npm, whenever a new version of npm is released, that could cause this check to fail and the fix is to commit a regenerated package-lock.json using the latest npm version.
    • Possible workarounds for this were discussed, including documenting the problem in the “testing docs” by @youknowriaad and raising the issue in the npm 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. tracker by @gziolo
    • @aduth also referenced an earlier discussion on the topic

As there were no other open floor items, @nerrad closed meeting 5 minutes to the hour

Next chat is on Wednesday, July 14, 2020, 14:00 UTC in the #core-js channel on 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/..

Weekly JavaScript news round up

#javascript, #meeting-notes

JS Core Summary: 23rd June 2020

@adamsilverstein hosted

today’s agenda: “Consider whether we should start using ESLint rules to recommend vanilla JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. functions”

@zebulan brought up that there are a lot of Lodash functions that provide little benefit over native JS equivalents, and in a lot of cases, the only difference is how nullish values are handled.
@adamsilverstein provided for reference: https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore After discussing concerns, it was concluded that most issues were about style rather than dependencies. Action Item: Zeb will open an issue on 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/ repository proposing specific linting or prettier rules.

open floor:

@gziolo shared a PR, to make registration of component related filters to work nearly the same as you would do it now for SlotFill. https://github.com/WordPress/gutenberg/pull/22185  https://wordpress.slack.com/archives/C5UNMSU4R/p1592921896081600

Adam & Grzegorz discuss the details of the PR, which includes the differences of filters and SlotFill. Side questions bring up the Gutenberg equivalent to php WordPress 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. (actions & filters). It was, also, mentioned how we could we register blocks as components.

@zebulan brought up the topic: Thoughts on usingTypeScript in WP?
It was mentioned that there is currently support for it. The way we’re doing that now is through JSDoc comments, which the TypeScript compiler parses.
eg https://github.com/WordPress/gutenberg/pull/18942
#18942 Build: Output package type declarations
 https://github.com/WordPress/gutenberg/issues/18838
There is also recorded stream where @aduth shows how to add types to WordPress package.

Announcement:
@gziolo shared: https://github.com/WordPress/gutenberg/pull/22714 – we should see Gutenberg Mobile merged into Gutenberg repository later this week, which received a warm round of positive responses.
@gziolo continued, there are 3 new WordPress packages – private for now (no publishing to npm). The best part is that it will be possible to run the demo apps (iOSiOS The operating system used on iPhones and iPads. and Android) inside Gutenberg.

@adamsilverstein closed meeting on the hour

#core-js, #javascript, #meeting-notes

Editor Chat Summary: 17th June, 2020

This post summarizes the latest weekly Editor meeting (agenda, slack transcript). This meeting was 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 2020-06-17 14:00 UTC 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/ version 8.3

Gutenberg 8.3.0 was released last week. Update your sites and check out what’s new. We’re experimenting with new ways to organize the make post, so any feedback you may have is welcome!

Monthly Plan

There was limited discussion on the specifics of the current monthly priorities. As a reminder though, WordPress 5.5 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. is less than a month away! Last week @ellatrix created this board with must-haves and priorities for 5.5. If anyone has the capacity to help, please jump in there.

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!

@zebulan

  • Working on PRs to get the Buttons 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. polished and to resolve some confusing behavior including making the block’s editor DOM match the front-end more.
  • Need technical help to proceed with this Buttons Block PR. Help with this should also help land a PR from @nfmohit to add a vertical option for the Buttons block.
  • Continuing to make progress on the Heading block heading level validator PR. Currently stuck trying to figure out how to prevent the dropdown from automatically closing when one of the heading level options is clicked.

@nosolosw

  • The release took quite a bit of bandwidth over the last week!
  • Outside of the release, a major focus was preparing presets for line-height and padding (and adapting the UIUI User interface controls accordingly).
  • Next week, I’ll carry on that presets for line-height and padding work, and hope to help porting to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for 5.5. 

@mcsf

  • Reviewing a bunch of stuff!
  • Trying to weigh in/unblock a variety of discussions from FSE, design tools, block context, and more.
  • In close contact with @ellatrix to see how I/we can help her in her 5.5 editor lead role.

@youknowriad

  • Worked on improvements to Popover behavior.
  • Updated the colors used in Gutenberg components to rely on CSSCSS Cascading Style Sheets. variables.
  • Opened a PR to expand anchor support to all static blocks.
  • Working on the quick inserter.
  • On my mind to work more on stabilizing e2e tests.

@itsjonq

  • Focused mainly on Design Tools.
  • Looking over issues (feature requests) and researching external designs/experiences to see how we could improve these tools.
  • So far, most applications of design tools have centered around the Cover block. Under the hood, there’s been work to unlock/enable customizations to other blocks though. Approaching it more like APIs, rather than ad-hoc enhancements

@sageshilling

@itsjusteileen 

@mkaz

  • A follow up from last weeks discussion around Documentation, the 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.) was switched back to master, so published Gutenberg docs are now top of tree. Exploring ways to create a version switcher. Thanks @coffee2code for the assist in ticket #5266.

@michael-arestad

  • Reviewing issues/PRs for 5.5. Please 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.” me if there’s an issue/PR planned for 5.5 that needs design feedback/review/help.
  • Starting in again on designing flows for creating new templates. – might be good for a zoom jam (stay tuned).
  • Proposed an iteration on the reusable block (and template part) UI.
  • Updated the e2e prototype and got good feedback. The next iteration will be broken up into specific flows.

@ntsekoura

  • Worked on a merged PR about consolidating disparate “copy block” actions, when we copy from keyboard and when copy from Block Toolbar.

@ella

  • Focused on figuring out what things need to happen for WP 5.5 Beta, and helping out where I can. Looks like navigation and 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. screens are unlikely to be included given the time that’s left. I’m optimistic about including the currently experimental image editor, but there’s still quite a few things to do.
  • Going forward, will make sure remaining issues are tracked and worked on. Note that any refinements also need to be included before 5.5 Beta as afterwards we only backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. regressions.

@poena

  • Stuck on the former FSE post categories / now hierarchical taxonomy block because I don’t know how to get the custom taxonomies that a post (or 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.) uses. This was flagged for dev help!

@gziolo

  • Worked on server side rendering for blocks – 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. + 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/. + register_block_type_from_metadata.
  • Worked on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and enhancements for npm packages with tooling – wordpress/scripts, wordpress/create-block and other, lots of reviews for work done by @ocean90.

@noisysocks:

  • Working on the Navigation screen, specifically picking up #22656 again which lets you add Search blocks alongside Link blocks.

@annezazu

  • Working on resources for the FSE outreach program (will be dropping drafts for the group to review this week in #fse-outreach-experiment), doing triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. focused on needs-testing, and trying to do my own testing with the Gutenberg experiments (found this fun bug).

Open Floor

Is there any interface for a theme to supply a list of classes that could be used as a datalist for the Block 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. Advanced class input? Raised by @joyously.

For greater context, @joyously is looking for a user to be able to put theme-supplied classes into the Advanced class input box. @youknowriad jumped in to provide context. The closest solution offered was “style variations”. However, you can’t apply multiple styles at the same time or use custom classNames instead of style-*. Both of these suggestions have related issues right now.

Next Step: @joyously can chime in on related 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/ discussions around style variations. There’s this main issue here for allowing custom style classNames and a general list of style variation themed issues.

Introduction for the media for block editor proposal. Raised by @sageshilling.

This will be about a year and a half project. If you’re curious to see what’s being proposed, you can see the initial proposal here in #core-media. While there were some questions and concerns raised including making sure this is built step by step within the Gutenberg Repo, this was meant purely as an initial introduction with more information to come in future meetings.

Next step: @sageshilling will share more information in the #core-media meeting tomorrow and in the comments of this post as necessary.

A reminder to not ignore intermittent test failures with e2e tests and to make tests even more robust when possible. Raised by @youknowriad.

I just wanted to share that end 2 end tests has not been very stable lately. And very often when we have an instability we have a tendency to think: oh it’s not related to my PR, so we just restart the test until it passes and forget about it. I have been guilty of doing so myself and I’d like to encourage the regular contributors to “stop” ignoring these intermittent test failures and when possible take time to debug and make the tests more robust even if not directly originating from our own PRs.

Why was the decision made to not have width and height attributes specified at all times for images? Raised by @flixos90.

Recently, @flixos90 opened a trac ticket around specifying missing width and height attributes for images in WordPress. Right now, not having these attributes defined causes an increased amount of layout shifting as images are being loaded. Historically, the classic editor has always provided these attributes, so the user experience has somewhat regressed with Gutenberg in that sense. Gutenberg only provides these attributes in the core/image block when the image is resized.

While there was some discussion here, we agreed this issue seems to have a lot of history and no one in the meeting could answer with certainty.

Next Step: @flixos90 is going to open up a GitHub issue to open up the conversation to see if greater historical information can be found and a way forward can be worked on.

How to resolve issues with Gutenberg.run? Raised by @itsjusteileen.

Right now, there are some issues with getting gutenberg.run, a PR testing tool, to run (pun intended).

Next Step: @itsjusteileen is going to open an issue in the Gutenberg.run repository.

What do people think of the idea of an ESLint 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 to discourage the use of some (but not all) Lodash functions when there’s a close vanilla JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. equivalent? Raised by @zebulan.

There were varying opinions and ideas thrown out including the thought that perhaps this isn’t worth optimizing for. There are a few ESLint plugins of this sort already that could be explored. Generally though, this topic was out of scope for this meeting.

Next Step: @zebulan added this to the agenda for #core-js meeting next week as this is a better spot to discuss this question.

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

JavaScript Chat Summary: Tuesday, June 16, 2020

Below is a summary of the discussion from this week’s 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/. chat (agendaSlack transcript).

Have a topic for discussion for the next meeting? Leave a comment with a suggestion.

Administrative: Meeting Hosts

Darren Ethier @nerrad and Jonathan Bossenger @psykro have volunteered to help lead the JavaScript chat each week. Responsibilities as outlined by @adamsilverstein are: show up, announce meeting, guide conversation through agenda, end on time, create next week’s agenda. Adam will create a shared calendar and continue to coordinate the meetings.

The team is still need of volunteers to help take and publish weekly meeting notes. If you have some availability and want to get more involved in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. JavaScript, please leave a note in the comments. Your help is much appreciated.

Team Documentation

The team discussed the various pieces of documentation about our work and where they live. We have a GitHub project with links, a Google drive folder with Agendas and a document for note takers.

Everyone agreed it would be great to have a single public page somewhere (ideally on make.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org//core) that described our work and linked to all the relevant places.

Since JavaScript is a focus and not a component, the current site structure doesn’t have a clear home for the team. Adam offered to bring up the topic at the core dev chat to ask about the best location for a new page.

NPM Package Publishing

Greg (@gziolo) summarized the current state of WordPress npm packages:

  • We maintain over 70 packages on npm: https://www.npmjs.com/org/wordpress.
  • We develop all the packages on 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/ in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repository: https://github.com/WordPress/gutenberg/tree/master/packages.
  • The same packages are used in WordPress core and that’s why we have the release timeline tied to both release schedule of 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 and WordPress core.
  • We try to release to npm every 2 weeks, at the time when the new Gutenberg plugin is published.

Discussion continued around who should get access to publishing npm packages and the best way to time the releases.

Currently only a small number of people have access to publishing packages. One suggestion was to expand this to include all core committers and Gutenberg core team members who are already highly trusted contributors. No final decision was made.

Andrés (@nosolosw) published the packages for the first time recently and offered this feedback:

  • It’s fairly automated, although there are parts that could see some improvement.
  • Challenging when you try to backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. to master the package’s changelogs from the release branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". wp/trunk . In this case, there may be conflicts.

One way to address this would be:

  • At time of plugin RC: we also release the RC version of packages (this could be done by using the next dist-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.) or something along those lines)
  • At time of plugin release: we release the stable version of packages.

@nosolosw offered to look at what other projects do to come up with the best approach.

#core-js, #javascript, #meeting-notes

Devchat meeting summary – June 10th, 2020

@whyisjake led the chat on this agenda.

Highlighted/Need Feedback Blogblog (versus network, site) Posts

@whyisjake shared a few blog posts and announcements:

Upcoming releases

WordPress 5.4.2

WordPress 5.4.2 was planned to be released Wednesday 10th after the devchat (and successfully shipped with the help of our amazing contributors). This version includes six security fixes and many 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. More details about what is inside can be found on the version page.

WordPress 5.5

@pbiron reminded that three feature plugins will be included in WordPress 5.5. Lazy loading of images, themes, and plugins, auto-updates, and XML sitemaps.

Some tickets for enhancements/features will need some help, testing, or feedbacks before 5.5 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 (targeted date: July 7th, 2020): #40351, #41750, #33161, #47456, #43738.

@audrasjb mentioned some other tickets on which the 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) team needs help and feedback. #49459 and #49651 need Editor team feedback and #30155, #47120 and #48170 will need feedback and expertise from the Media team.

@paaljoachim said he’s working on #16020 and would need some feedback on it.

Open Floor

@enricosorcinelli mentioned that #21676 got some new attentions, and could be a possible candidate to ship in 5.5.

@adamsilverstein reminded the group that the #core-js team is looking for an additional person to help run the weekly 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/. chat. The chats take place Tuesday at UTC-06:00 in #core-js. Feel free to say in the channel in the next meeting if you’re interested in that.

@justinahinon said that he reached out to people interested in helping on hosting APAC devchats proposed here. There is a plan to discuss in the #core channel about the outcomes of the meetings and a possible schedule (a note about that will be published soon on Make/CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blog).

Related to that, @yvettesonneveld shared what they have been doing for marketing coffee breaks and that was very helpful in recruiting and retaining contributors. Updates for this can be found here.

@jeffpaul proposed some additions to the Releasing Major Version and Glossary handbooks. These additions are about the early ticketticket Created for both bug reports and feature development on the bug tracker. definition and how they are handled during the release process. This is a result of discussions at WCEU Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. and received helpful feedback from @davidb, @desrosj, and @joemcgill. Some contributors had a discussion about that, and you can rollback to here to follow.

@enricosorcinelli reminded that they are some tickets that have been milestoned for each release since 5.0 but hadn’t received any attention in their life cycle. These are #43516, #43517.

This closed the devchat discussions to leave room for WordPress 5.4.2 release party.

#5-4-2, #5-5, #summary

JavaScript Chat Summary: Tuesday, June 2, 2020

Below is a summary of the discussion from this week’s 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/. chat (agendaSlack transcript).

Have a topic for discussion for the next meeting? Leave a comment with a suggestion.

Administrative: Meeting Hosts

@aduth announced he would not be able to host the next chats. @gziolo stepped in and volunteered to host some of the next chats.

Participants in the chat gave thanks to @aduth for hosting many meetings during the last years. Thank you @aduth!!

@gziolo mentions he is going to take three months leave starting in July. That makes us in need of volunteers to run the chats and take notes.

If you have some availability and want to help the next coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-js chats happen, please leave a note in the comments. Your help is much appreciated.

Prettier 2.0 upgrade

Prettier 2.0 major version upgrade has now been merged https://github.com/WordPress/gutenberg/pull/22610.

The upgrade brings some code changes:

// Before
var doFoo = function() {}
// After
var doFoo = function () {}

There are not many of these cases in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ because we mostly use arrow functions. But @aduth referred we need at a minimum that the few code samples in the coding standards be updated to the new syntax.

@adamsilverstein volunteered to work on this task. Thank you!

ESLint 7 upgrade

@ocean90 has opened a pull request seeking to do a similar major version upgrade for ESLint, to v7.1.0. https://github.com/WordPress/gutenberg/pull/22771.

@gziolo said the just needs testing, code-wise it looks great.

@ocean90 said we just need a final decision on how to proceed with the new warnings/errors and volunteered to fix as many errors as possible after the merge.

End-to-end test lifecycle utilities

We are facing a problem because the paired test lifecycle “set up” and “tear down” can be error-prone if managed manually as described in the issue https://github.com/WordPress/gutenberg/issues/22804. The issue contains a proposal to create abstraction utilities that manage the full lifecycle.

Participants in the chat talked a little bit about the proposal. It was generally received well, and the conversations will continue on the issue. If you have some thoughts on the subject, feel free to check the issue and leave a comment or help implement the concept.

#core-js, #javascript, #meeting-notes

JavaScript Chat Summary: May 26, 2020

Below is a summary of the discussion from this week’s 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/. chat (agenda, Slack Transcript).

Have a topic for discussion for the next meeting? Leave a suggested edit on next week’s agenda.

(Note: There were no suggested agenda items for this week’s meeting, so an open floor was held instead)

Open Floor

Several updates were shared:

@adamsilverstein notes that WordCamp Europe Contributor Day is fast approaching, and shared a link to a post which describes “What To Know” for experienced contributors and team facilitators. Adam will volunteer to help lead a JavaScript team, and would appreciate any others to express interest in helping to lead or participate.

#core-js, #javascript