Core Team Meeting Minutes - 2014/02/28


Although most of our collaboration takes place on Github, IRC
(#emberjs on freenode.net), and our Discourse site
the Ember.js Core Team meets privately every
Friday at 2pm EST/11am PST through Google Hangout for a weekly
discussion of all things Ember.
If you have a topic you'd like to see covered, contact your favorite
core team member and let them know!
Attendees
@ebryn, @krisselden, @machty, @rwjblue, @stefanpenner, @tomdale, @trek, @wycats
Topics
Hello, Ghost
A few weeks ago @jacob4u2 reached out over twitter
to let us know the popular Node.js-based blogging platform Ghost was looking to
reinvent their admin interface and were discussing various browser JavaScript libraries. The
ensuing discussion is a great read.
This week the Ghost team announced they'd be rebuilding in Ember.js.
We're super geeked to see Ghost join Balanced,
TravisCI, Discourse, and the rest of the
great community of open source projects adopting Ember.js.
Thanks to everyone who chimed in on the discussion and the Ember.js community members who
helped with advice, feedback, and tender loving care on Github, Twitter, and IRC.
Resolution:

  • @ebryn is going to do a video walkthrough of how he'd organize Ghost's admin interface
  • @rwjblue and @trek have been in #Ghost IRC and will keep that up
  • We'll ask the Ghost to team to draw our attention to PRs/Issues related to the migration

ES6ifying core
The migration of ember-metal, ember-runtime, and ember-debug to ES6-style modules is
completed but not yet merged. In making
large changes we're always especially cautious about accidentally breaking existing
features, reducing performance, or increasing file size. Modularizing doesn't appear to have
an effect on build speed or runtime performance, but did lead to a 5k min/gzip size increase
that we're not happy with.
We're currently tracking down the various causes of size bloat and doing some cleanup
to bring build size back to its previous size.
Resolution:

  • @rwjblue is going to do some cleanup and work with the transpiler
    maintainers to add some output improvements.

Features pending 'Go' decision.
The core team reviewed the following pull requests for future inclusion in
the 1.6.x beta series:

  • ember-routing-named-substates #3655
    Still blocked on module vs global object lookup form, which causes naming collisions.
    Resolution: will remain on canary until we've moved to modules and have a modular
    loader.
  • ember-handlebars-caps-lookup #3218
    The original author has become unresponsive.
    Resolution: approach @mixonic to take over.
  • ember-routing-add-model-option #4293
    Resolution: It’s a go.

PR's/Issues To Review

  • Do not setup listeners for destroyed Arrays
    Sometimes due to timing in test suites, an array that has become
    destroyed (most likely due to a call to DS.Store#unloadAll in Ember Data)
    is assigned to an array proxy. This leads to an intermittent problem
    where an assertion is raised due to a destroyed array-like object
    no longer being considered an array by Ember.
    The root cause is that Ember.isArray relies on Ember.Array.detect to
    determine "Array-ness", and when Ember.Array.detect is used on a
    destroyed object false is returned because the meta information has
    been removed.
    Resolution: this error is the symptom, needs further investigation.
    @stefanpenner will investigate, and consult @krisselden and @ebryn
  • Resolve target issue on actions and with-controller
    Fixes issues where actions inside a {{with controller='foo'}}
    block bypass the FooController's action handling.
    Resolution: @ebryn, @krisselden, @wycats should review. Future changes that touch
    scope manipulation must be reviewed by @ebryn, @krisselden, @wycats.
  • The each helper checks that the metamorph tags have the same parent.
    In some cases, the browser may add or fix tags, which change the
    parentage of metamorph tags. This problem happens frequently when the
    developer doesn't not include the TBODY tag inside a table for example.
    This prevents the framework to update or clean the underlying DOM
    elements.
    This helps to detect the issue described in #4273.
    Resolution: @trek will offer some feedback on wording. This should be a total non-issue
    once we can emit HTMLBars.
  • Expose asObject to Ember.Handlebars.precompile
    Resolution: This belongs in handlebars, so reopen on Handlebars repo
  • FEATURE ember-handlebars-radio-buttons Implement radio buttons
    Resolution: hold off and talk about this at the next face to face.
  • Deprecate edge-case get and normalizeTuple behavior before fixes
    PR #3852 changes some edge case behavior for get and normalizeTuple. Ahead of those changes, this commit introduces deprecation notices.
    Resolution:
    • Deprecate get for local paths on global contexts, only if they
      return data.
    • Deprecate normalizeTuple calls that return a non-global context
      and a simple global path.