Dev Chat Summary: September 13th (4.9 week 7)

This post summarizes the dev chat meeting from September 13th (agendaSlack archive).

4.9 schedule and requests for contributions

  • 2 weeks until the feature project merge deadline, 3 weeks until Beta 1
  • These tickets need someone to contribute to them or else they’re in danger of not making it in 4.9:
    • Add nested folder structure deeper than 2 levels (#6531)
    • Add better warnings when you’re editing themes and plugins (even if they’re not active) (#31779, #41078)
    • Updating a plugin or theme via a ZIP file (#9757). Also, drag and drop uploading of themes and plugins (#24579)
    • Widgets: Default to “custom URL” in the image widget (#41629)
    • Customizer drafting/scheduling (#39896, #28721)
  • @westonruter: I committed CodeMirror to integrate with the Theme/Plugin editors, Custom HTML widget, and Additional CSS in the Customizer
  • @jbpaul17: looking to schedule bug scrubs, please reach out if you’re interested in helping
    • Component maintainers: Please confirm if you’re running scrubs for your component

#4-9, #core, #dev-chat, #summary

Dev Chat Agenda for September 13th (4.9 week 7)

This is the agenda for the weekly dev meeting on September 13, 2017 at 20:00 UTC / September 13, 2017 at 20:00 UTC:

  • 4.9 schedule and requests for contributions
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9, #agenda, #dev-chat

Customize Meeting Summary: September 11th

This post summarizes the Customize meeting from September 11th in the #core-customize Slack channel (Slack archive).

Participants: @westonruter, @jbpaul17, @joemcgill. @melchoyce and other Automatticians travelling today for this week’s Automattic Grand Meetup (“annual company meeting”) and thus not in attendance.

Discussion highlights

Notification area

  • @westonruter: working on drafting design and dependencies we have (see: #35210)
  • @westonruter: Designs should get finalized today and work can get going on that piece quickly
  • @jbpaul17: I should be able to have work start on that shortly

CodeMirror (“Better Code Editing“)

  • @westonruter: aiming to get the core patch committed today
  • @westonruter: opportunity for a contributor to learn and get experience is integrating a PHP linter ahead of 4.9 Beta 1 (October 4th)

Widgets

Other updates

  • @jbpaul17: chasing down potential contributors to help with other items for 4.9, no updates as of now
  • Plan to start bug scrubs after weekly meeting leading up to 4.9 Beta 1

Next week’s meeting

The next meeting will take place on Monday, September 18, 17:00 UTC in the #core-customize Slack channel. Please feel free to drop in with any updates, questions, or tickets you’d like to discuss. If you items to discuss about this but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#4-9, #core-customize, #summary

Multisite Agenda for the week of September 11th

Office Hours Agenda

This is the agenda for the weekly office hours meeting on September 12th, 2017, 16:00 UTC in #core-multisite.

  • Further discuss the approach on #29684, particularly the following questions:
    • Is get_main_site_id() useful enough on its own to merge it into core as a first step?
    • Is storing the main site ID in a network option worth it? How much do the network meta efforts (particularly #37181) affect this decision?
  • Plan further 4.9 organization as Beta 1 is getting closer.

Ticket Scrub Agenda

This is the agenda for the weekly ticket scrub meeting on September 11th, 2017, 17:00 UTC in #core-multisite.

  • Discuss and review one or two of the 4.9 tickets in more detail, depending on the interest of the meeting’s attendees.

Please join the chat if you’re interested in one of the topics. In case you cannot make the respective meeting, we will be working on publishing a recap post afterwards. If you have some thoughts beforehand or would like something related to be part of the agenda, feel free to share your ideas in the comments for this post. See you in the chat!

#4-9, #agenda, #multsite, #networks-sites

Dev Chat Summary: September 6th (4.9 week 6)

This post summarizes the dev chat meeting from September 6th (agendaSlack archive).

4.9 schedule review

  • 3 weeks until the feature project merge deadline, 4 weeks until Beta 1
  • Customizer improvements for merging Changeset drafting and scheduling has yet to kick off development, designs are nearing completion (see: #39896 and #28721)
  • Gallery widget is still under development but it seems to have stalled, TODO’s noted on related GitHub PR
    • @joemcgill to look into avoiding serializing attachments data in the widget this week
  • @obenland working on wrestling the widget mapping issue when switching themes (see: #39693)
  • Page on Front progressing slowly, likely not ready for dev before Feature Merge
  • Theme switching issue for nav menu mapping has already been merged in trunk (see: #39692)
  • CodeMirror feature plugin (aka Better Code Editing) needs testing and a few outstanding issues that would benefit from contributors. Plan is to merge this week.
  • @psykro to look into #9757
  • “Add Media” button in the Text widget great opportunity for new contributors
  • #35827 could use an owner and remaining items in 4.9 Goals post could use contributors to help land in the release

Editor update

Iterating in trunk

  • @matt: I’m fine with more iteration happening in trunk vs how we’re bouncing patches around Trac so much
  • @matt: I’m okay with parts of trunk being broken as we iterate in this phase of dev
  • @desrosj: Do we have an established process for reverting things that break?
  • @obenland: I think we’re not talking about “PHP fatals”-broken, but rather a feature maybe not fully functional

HTML5 input types for validation

  • @afercia: any thoughts about relying on HTML5 input types browsers built-in validation only?
  • @azaozz: used to be buggy, seems to be working properly now
  • @afercia: seems to me still premature to rely on required for validation
  • @afercia: looking to leads to make a decision as new browsers support policy
  • @asaozz: Worth some testing, especially on the “lower end”, IE11
  • @afercia: there are still CSS rules in ie.css for Internet Explorer 6 (and 7, and 8). Can they just be dropped?
  • @azaozz: no need of ie.css in my honest opinion
  • @azaozz: intention is not to completely break old browsers if they still work, but to stop testing in them
  • @clorith: concerned about users locked into older browsers, like IE8, and keeping option for them to enqueue scripts relevant to their browser
  • @afercia: I wanted to start the discussion about this as it relates to the new browsers support policy

General announcements

#4-9, #core, #core-customize, #core-editor, #dev-chat, #gallery, #gutenberg, #html5, #summary, #trunk, #widgets

Removing SWFUpload

Development of SWFUpload stopped many years ago. It has been deprecated in core since WordPress 3.3 (2011) when we switched to using Plupload. Additionally the latest updates in some browsers default to disabling Flash.

It’s finally time to say Goodbye 🙂

There are several popular plugins that appear to still use SWFUpload after so many years of it being deprecated:

(For the full list see https://core.trac.wordpress.org/ticket/41752.)

If you are using one of these plugins on your site, please contact the authors and ask them to switch to Plupload. Core switched to it… 16 versions ago!

We created the list of plugins by searching the WordPress plugins directory for 'swfupload', and there are probably some “false positives”. Sorry if it includes plugins that are not using SWFUpload any more, or are including that string for other reasons.

Proposal for JS Standards Revision: Removing Array/Function Whitespace Exceptions

Coding standards have been a recurring topic in the JavaScript Weekly Chat over the past few months. One rule in particular which has been the focus of much discussion are the exceptions for whitespace in arrays and function calls, which reads:

Always include extra spaces around elements and arguments:

[…]

Exceptions:

  • […] do not include a space around string literals or integers used as key values in array notation
  • Function with a callback, object, or array as the sole argument: No space on either side of the argument
  • Function with a callback, object, or array as the first argument: No space before the first argument
  • Function with a callback, object, or array as the last argument: No space after after the last argument

In the course of our chats, there has been some consensus around removing this “Exceptions” section entirely, though we considered to seek broader feedback on the decision, particularly in how it impacts overlapping PHP standards and existing code.

Why should this exception be removed?

The purpose of a coding standard should be to impose sensible rules for the sake of consistency and readability. In the case of consistency, a developer should be at ease both in writing and reading code.

The very existence of an exception is at odds with these ideals, harming consistency in that:

  • A code reader may not think to expect it if they are not familiar with the exception
  • A code writer may not know to apply it if they are not familiar with the exception. Or worse yet, one familiar with the rule may not know how to apply it.

The arrays and functions exception is notably egregious for being difficult to apply. Take, for example, the following snippet of code:

( function( wp ) {
	wp.foo = foo( 5, {});
	wp.bar(function() {
		console.log( 'Done' );
	});
	wp.baz( x, x + 5 );
	wp.baz(x => x + 5);
} )( window.wp = window.wp || {} );

This code is valid in its use of whitespace, but took considerable effort on the part of a developer well-versed in the standards to understand precisely where the exceptions do and do not apply.

Generally, exceptions increase the barrier to entry for new developers by imposing another prerequisite to becoming productive, increase overhead for existing contributors by requiring careful consideration of their application, and are anti-productive in the review hours wasted enforcing their inevitable mis-use.

Why should this exception not be removed?

All of the above notwithstanding, the exceptions concerning array or object keys at least have some basis in overlap with equivalent rules in the PHP Coding Standards. While I would argue that most all exceptions should be avoided, the focus of the first section is aimed primarily at function arguments, which tends to cause most uncertainty. It may be an agreeable compromise to remove only the exceptions impacting function arguments, leaving still the array and object key exceptions.

Standards changes should be carefully considered, as it has a large impact on existing code which applies the current standard, and on knowledge of developers who have already become familiar with the standards. However, my experience is that these exceptions aren’t particularly well-understood, and in-fact that eliminating them would be more in spirit with how whitespace is otherwise applied (“When in doubt, space it out.”).

What happens next if these exceptions are removed?

If consensus is reached, the following actions should be taken:

  • Our standards documentation are updated to remove the exception language
  • Our ESLint rules are updated to remove the exception
  • All new commits to WordPress core follow the new standards
  • Old code will only be refactored as part of a larger, codebase wide refactoring effort (see related effort at #41057)

What are your thoughts? Please share in the comments below.

#javascript, #standards

Dev Chat Agenda for September 6th (4.9 week 6)

This is the agenda for the weekly dev meeting on September 6, 2017 at 20:00 UTC / September 6, 2017 at 20:00 UTC:

  • 4.9 schedule review
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, please leave a comment below. See you there!

#4-9, #agenda, #dev-chat

What’s new in Gutenberg (September 5)

1.1.0 🦁:


 

Other changes:

We welcome all your feedback and contributions on the project repository, or ping us in #core-editor. Follow the “gutenberg” tag for past updates.

#core-editor, #editor, #gutenberg

X-post: Design team weekly update September 4th

X-post from +make.wordpress.org/updates: Design team weekly update September 4th