Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] Glimmer 2 Final Countdown #13316

Closed
wants to merge 1 commit into from

Conversation

Projects
None yet
8 participants
@chadhietala
Copy link
Member

commented Apr 12, 2016

Update

Markdown file did not pan out. There was much confusion on what tasks were taken. So what is the plan? I have migrated all of the tasks and relevant information to a Trello board 馃槺 . No worries you do not need to signup for Trello or any of that nonsense. Please continue 馃敀 ing things by just commenting on this PR along with the link to the trello board. Example:

Hey everyone I'm going to take https://trello.com/c/pR3KtDCH/20-ensure-falsy-values-do-not-become-class-names 馃敀 .

I will then personally go move the card to "In Progress". Hopefully this is not too much burden and will actually result in clear direction of "what needs to be done".

Thanks everyone!

Board
https://trello.com/b/6C6i3eGV/glimmer-2


This is the 馃敟 馃敟 馃敟 burn down 馃敟 馃敟 馃敟 issue to ship Glimmer 2. While there are still in flight PRs, this is known state of the world at SHA b418b95.

Awesome 80s hair band

We are experimenting on using a temporary Markdown instead of a regular checklist so that we can add line comments for each item. Do not merge this pull request.

@chancancode chancancode changed the title WIP Final Countdown [DO NOT MERGE] Glimmer 2 Final Countdown Apr 12, 2016

@chadhietala chadhietala force-pushed the chadhietala:final-countdown branch Apr 12, 2016

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
![Awesome 80s hair band](http://vignette2.wikia.nocookie.net/degrassi/images/d/d4/Final-Countdown.gif)

# Macro Tasks
- [ ] Complete all test migration described in #13127

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Complete all test migration described in #13127
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

# Macro Tasks
- [ ] Complete all test migration described in #13127
- [ ] Migrate/coalesce fragment tests #13152

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Migrate/coalesce fragment tests #13152
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
# Features

### Infra
- [ ] Integrate into run-loop

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Integrate into run-loop
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Integrate into run-loop

### Helpers
- [ ] Implement `{{partial}}`

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Implement {{partial}}

This comment has been minimized.

Copy link
@chadhietala

chadhietala Apr 13, 2016

Author Member

馃敀 Taken by @mmun

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Helpers
- [ ] Implement `{{partial}}`
- [ ] Implement `{{mut}}`

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Implement {{mut}}
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
### Helpers
- [ ] Implement `{{partial}}`
- [ ] Implement `{{mut}}`
- [ ] Implement `{{textarea}}`: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L15) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L23) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L36)

This comment has been minimized.

Copy link
@chancancode
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `{{partial}}`
- [ ] Implement `{{mut}}`
- [ ] Implement `{{textarea}}`: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L15) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L23) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L36)
- [ ] Implement `{{each-in}}` [Failing tests](packages/ember-glimmer/tests/integration/syntax/each-in-test.js#L23)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `{{each-in}}` [Failing tests](packages/ember-glimmer/tests/integration/syntax/each-in-test.js#L23)

### Currly Components
- [ ] Implement remaining life-cycle hooks

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Implement remaining life-cycle hooks
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Currly Components
- [ ] Implement remaining life-cycle hooks
- [ ] Implement custom Ids for curly component invocations: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L26)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Implement custom Ids for curly component invocations: Failing test

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

I think this should be pretty straightforward. Similar to how we handle class => classNames, we can just rename the id from the named args to elementId when setting it on the component, then it should just work.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
### Currly Components
- [ ] Implement remaining life-cycle hooks
- [ ] Implement custom Ids for curly component invocations: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L26)
- [ ] Implement triple curiles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This seems weird, given that we already have these tests passing. Can someone investigate what this test is supposed to be testing (i.e. why do we have that in the components test file) and why is it failing?

This comment has been minimized.

Copy link
@zackthehuman

zackthehuman Apr 13, 2016

Contributor

It appears that triple curlies in Glimmer2 are working, but the output differs slightly from HTMLBars. This test is explicitly looking for a specific set of text and HTML nodes, which actually seems weird. For example:

Given this data:

you need to be more <b>bold</b>

And this template:

{{{output}}}

HTMLBars will produce 4 elements:

[text, text, b, text]

Where the first and last text nodes are empty (''). The two inner nodes are the actual text and <b> content.

However, Glimmer will produce 2 elements:

[text, b]

So the test fails. It seems to me that Glimmer is doing the "right thing" here and HTMLBars has extra cruft. Not sure why that is, but that explains the failure.

This comment has been minimized.

Copy link
@chadhietala

chadhietala Apr 13, 2016

Author Member

Yea this makes sense. We should not be testing the details of boundary tracking but rather that the content is unescaped and can go through the update cycle.

This comment has been minimized.

Copy link
@zackthehuman

zackthehuman Apr 13, 2016

Contributor

Good call. PR here: #13329

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement remaining life-cycle hooks
- [ ] Implement custom Ids for curly component invocations: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L26)
- [ ] Implement triple curiles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)
- [ ] Implement `htmlSafe`: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@zackthehuman

zackthehuman Apr 13, 2016

Contributor

This test is not great. I will update the test to be more robust to account for differences between HTMLBars and Glimmer2. It will still fail, but at least the baseline will be set to compare them evenly. See PR: #13329

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement custom Ids for curly component invocations: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L26)
- [ ] Implement triple curiles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)
- [ ] Implement `htmlSafe`: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)
- [ ] Implement positional params in components: [Failing test 1 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1199) [Failing test 2 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1227) [Failing test 3 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1283) [Failing test 4 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1307)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This would be good for someone who is quite familiar with the system and would like a challenge. We already pass the full set of args (positional and named) to the component manager, so it should all be doable on the Ember side.

This comment has been minimized.

Copy link
@Serabe

Serabe Apr 13, 2016

Member

@chancancode I'm familiar with the component manager and rendering components from the helper. I'm also familiar with the ins and outs of the positional parameters since I had to deal with them for the contextual components PR. Ping me if I can help!

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 13, 2016

Member

Why don't you take a crack at implementing that and ping me on community slack if you run into issues. I think this is fairly isolated from the rest of the stuff here.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `htmlSafe`: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L849)
- [ ] Implement positional params in components: [Failing test 1 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1199) [Failing test 2 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1227) [Failing test 3 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1283) [Failing test 4 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1307)
- Delete potential duplicates at lines 1498, 1515
- [ ] Implement ARIA roles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1354)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

I think this should be quite similar to how we handle attribute bindings

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement positional params in components: [Failing test 1 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1199) [Failing test 2 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1227) [Failing test 3 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1283) [Failing test 4 ](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1307)
- Delete potential duplicates at lines 1498, 1515
- [ ] Implement ARIA roles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1354)
- [ ] Implement `template`: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1378)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This test is explicitly testing that the template property is NOT doing anything special. (Can we rename the test to make that clear?) What is failing here?

This comment has been minimized.

Copy link
@Serabe

Serabe Apr 13, 2016

Member

This test is now working. I submitted #13320 updating the tests in curly components. This test seems like something that either made sense in the past or that comes from an issue. In any case, I think we could 馃敟

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- Delete potential duplicates at lines 1498, 1515
- [ ] Implement ARIA roles: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1354)
- [ ] Implement `template`: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1378)
- [ ] Implement `hasBlock`: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1410) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1452) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1601) [Failing test 4](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1624) [Failing test 5](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1647) [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1670) [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1693)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

@mmun already did the work on the Glimmer side (#112 and #114). Since we recently bumped glimmer, these should just work now. Can someone confirm that?

This comment has been minimized.

Copy link
@Serabe

Serabe Apr 13, 2016

Member

When I checked tests in #13320 that were not possible. Let me check tomorrow with a clean install from npm.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `hasBlock`: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1410) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1452) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1601) [Failing test 4](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1624) [Failing test 5](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1647) [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1670) [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1693)

### Component Helper
- [ ] Implement `actions` on the `component` helper: [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js#L402)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

What is failing here? It doesn't look like it would require cooperation from the rendering engine.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `actions` on the `component` helper: [Failing test 6](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/dynamic-components-test.js#L402)

### Class Helper
- [ ] Implement `recompute` hook: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L44) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

These should now work with fbfc404. Can someone confirm?

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Class Helper
- [ ] Implement `recompute` hook: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L44) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js)
- [ ] Implement teardown: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L325)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Curly Component

- [ ] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

Can someone investigate where that assertion is coming from? We probably just need to add it back to our "slimmed down" component class.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
### Curly Component

- [ ] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Ensure classBinding without a condition applies correctly: Failing Test

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

Should be a simple bugfix to here. We should probably make another specialized class for this case and subclass ConstReference, so that we don't have to dirty-check it when re-rendering.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

- [ ] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Ensure falsy values do not become class names: Failing Test

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

Should be a simple bugfix to here.

This comment has been minimized.

Copy link
@chadhietala

chadhietala Apr 14, 2016

Author Member

I'll take this.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)
- [ ] Ensure `attributeBindings` cannot be set: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L453)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

Can someone investigate where that assertion is coming from? We probably just need to add it back to our "slimmed down" component class.

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)
- [ ] Ensure `attributeBindings` cannot be set: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L453)
- [ ] Figure out functionatily of parent re-renders: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1070)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Figure out functionatily of parent re-renders: Failing Test
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)
- [ ] Ensure `attributeBindings` cannot be set: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L453)
- [ ] Figure out functionatily of parent re-renders: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1070)
- [ ] Ensure `yield`ed components have the correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1716)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Ensure yielded components have the correct parentView: Failing Test
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Ensure `attributeBindings` cannot be set: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L453)
- [ ] Figure out functionatily of parent re-renders: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1070)
- [ ] Ensure `yield`ed components have the correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1716)
- [ ] Ensure new sub-components get correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1760)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Ensure new sub-components get correct parentView: Failing Test
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Figure out functionatily of parent re-renders: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1070)
- [ ] Ensure `yield`ed components have the correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1716)
- [ ] Ensure new sub-components get correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1760)
- [ ] Components should have access to the viewRegistry via `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1808)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Components should have access to the viewRegistry via parentView: Failing Test
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Ensure `yield`ed components have the correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1716)
- [ ] Ensure new sub-components get correct `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1760)
- [ ] Components should have access to the viewRegistry via `parentView`: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1808)
- [ ] component should rerender when a property is changed during children\'s rendering: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L1856)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • component should rerender when a property is changed during children's rendering: Failing Test
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Class Helper
- [ ] Should compute when params change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L147)
- [ ] Not usable in a block: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L295)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Not usable in a block: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L295)

### Simple Helper
- [ ] Should compute when params change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L112)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

This is failing because we were calling compute too often. I think fbfc404 might have fixed it. Can someone confirm?

This comment has been minimized.

Copy link
@zackthehuman

zackthehuman Apr 13, 2016

Contributor

I just tested this right now and the failing test no longer fails. I believe this is fixed now. See #13324

@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### Simple Helper
- [ ] Should compute when params change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L112)
- [ ] Not usable in a block: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L287)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
### Simple Helper
- [ ] Should compute when params change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L112)
- [ ] Not usable in a block: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L287)
- [ ] Not usable in an element: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L314)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Not usable in an element: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/custom-helper-test.js#L314)

### `get` Helper
- [ ] Should handle `null` object values: #13317

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Should handle null object values: #13317
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated

### `get` Helper
- [ ] Should handle `null` object values: #13317
- [ ] Should handle `null` object keys: #13317

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Should handle null object keys: #13317
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
### `get` Helper
- [ ] Should handle `null` object values: #13317
- [ ] Should handle `null` object keys: #13317
- [ ] Should handle `null` object keys and values: #13317

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member
  • Should handle null object keys and values: #13317
@chancancode

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Should handle `null` object values: #13317
- [ ] Should handle `null` object keys: #13317
- [ ] Should handle `null` object keys and values: #13317
- [ ] Nested, dynamic, and static keys: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/get-test.js:312#L365) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/get-test.js:312#L407) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/get-test.js:312#L442)

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 12, 2016

Member

@chadhietala chadhietala force-pushed the chadhietala:final-countdown branch Apr 12, 2016

@chadhietala

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement `{{mut}}`
- [ ] Implement `{{textarea}}`: [Failing test 1](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L15) [Failing test 2](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L23) [Failing test 3](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/helpers/text-area-test.js#L36)
- [ ] Implement `{{each-in}}` [Failing tests](packages/ember-glimmer/tests/integration/syntax/each-in-test.js#L23)
- [ ] Implement `{{action}}`

This comment has been minimized.

Copy link
@chadhietala

chadhietala Apr 12, 2016

Author Member
  • Implement {{action}}
@kiwiupover

This comment has been minimized.

Copy link
Contributor

commented Apr 12, 2016

There are a few {{yield}} test missing. {{yield foo}} at least. I will work on those tonight in #13213

@chadhietala chadhietala force-pushed the chadhietala:final-countdown branch 2 times, most recently Apr 13, 2016

@mmun

This comment has been minimized.

Copy link
Member

commented Apr 13, 2016

I will implement {{partial}}.

@chadhietala chadhietala force-pushed the chadhietala:final-countdown branch 4 times, most recently Apr 13, 2016

@zackthehuman

View changes

FINAL_COUNTDOWN.md Outdated
- [ ] Implement remaining life-cycle hooks
- [ ] Implement custom Ids for curly component invocations: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L26)
- [x] Implement triple curiles #13329
- [x] Implement `htmlSafe` #13329

This comment has been minimized.

Copy link
@zackthehuman

zackthehuman Apr 14, 2016

Contributor

htmlSafe is not actually supported in double-curlies from what I can tell. The PR mentioned here only fixes the tests to make it possible to compare HTMLBars and Glimmer2 behavior side-by-side. The feature is still missing (and I'm trying to implement it).

This comment has been minimized.

Copy link
@chancancode

chancancode Apr 14, 2016

Member

You should look here: https://github.com/tildeio/glimmer/blob/master/packages/glimmer-runtime/lib/compiled/opcodes/content.ts

  1. The AppendOpcode is responsible for inserting the content during "initial render" (but this also applies to things like an {{#if}} changing from true to false, thus tearing down the block and rendering a different one). It needs to be updated to handle both safe and non-safe strings.
  2. The AppendOpcode emits an UpdateAppendOpcode that is responsible for keeping the curlies up-to-date when the content changes. It needs to remember which "mode" it was in previously and do the right thing. (Handling safe <-> non-safe strings, etc).
  3. You can look at how the "Trusting" versions of opcodes, which are for triple-curlies. You can probably refactor things to share more code.
  4. Keep in mind the "const reference optimization" as you do this: glimmerjs/glimmer-vm#109
  5. Future work: we also need to support appending DOM nodes into the curlies (helpers etc can return DOM nodes to be inserted). But we can tackle that separately.
  6. Ideally, we would like to minimize the "mode switching" stuff by emitting specialized opcodes, but I couldn't think of any cases where we can know these information ahead of time (other than the const case, which simply does not emit updating opcodes).
@zackthehuman

This comment has been minimized.

Copy link
Contributor

commented Apr 14, 2016

I'm investigating htmlSafe.

@asakusuma

View changes

FINAL_COUNTDOWN.md Outdated
### Curly Component

- [x] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)

This comment has been minimized.

Copy link
@asakusuma

asakusuma Apr 14, 2016

Contributor

I'm going to take a stab at this

EDIT: #13337

@asakusuma

View changes

FINAL_COUNTDOWN.md Outdated

- [x] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)

This comment has been minimized.

Copy link
@asakusuma

asakusuma Apr 14, 2016

Contributor

Gonna take a stab at this

EDIT: #13338

@asakusuma

View changes

FINAL_COUNTDOWN.md Outdated
- [x] Ensure `elementId` cannot change: [Failing test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L48)
- [ ] Ensure `classBinding` without a condition applies correctly: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L176)
- [ ] Ensure falsy values do not become class names: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L188)
- [ ] Ensure `attributeBindings` cannot be set: [Failing Test](https://github.com/emberjs/ember.js/blob/b418b95ea3d31e3a3656906e6ad784422f648c31/packages/ember-glimmer/tests/integration/components/curly-components-test.js#L453)

This comment has been minimized.

Copy link
@asakusuma

asakusuma Apr 14, 2016

Contributor

Gonna take a stab at this

#13339

@chadhietala chadhietala force-pushed the chadhietala:final-countdown branch to aafb356 Apr 15, 2016

@chadhietala

This comment has been minimized.

Copy link
Member Author

commented Apr 15, 2016

Bump. Just want to notify everyone in this thread on the way we are going to track things going forward. Please read the initial comment for an update.

@zackthehuman

This comment has been minimized.

Copy link
Contributor

commented Apr 18, 2016

@locks locks added the Glimmer2 label Apr 19, 2016

@chadhietala

This comment has been minimized.

Copy link
Member Author

commented Jun 10, 2016

Closing in favor of #13644

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can鈥檛 perform that action at this time.