ember-animation / liquid-fire

Animations & transitions for ambitious Ember applications.
Other
1.14k stars 199 forks source link

Glimmer 2 + Fastboot render issue #530

Open bakerac4 opened 7 years ago

bakerac4 commented 7 years ago

I just upgraded an app that uses liquid-fire to glimmer 2. When trying to go directly to a page in Fastboot it gives me an error of

There was an error running your app in fastboot. More info about the error: 
 TypeError: Cannot read property 'createComment' of undefined
    at ListBlockOpcode.evaluate (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:69008:33)
    at UpdatingVM.execute (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:68764:24)
    at RenderResult.rerender (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:68703:16)
    at RootState._this.render (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:26295:18)
    at exports.default.runInTransaction (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:37250:28)
    at InertRenderer._renderRoots (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:26556:48)
    at InertRenderer._renderRootsTransaction (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:26594:14)
    at InertRenderer._revalidate (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:26633:12)
    at Queue.invokeWithOnError (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:15294:16)
    at Object.Queue.flush (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:15353:9)
    at Object.DeferredActionQueues.flush (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:15477:15)
    at Object.Backburner.end (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:15547:23)
    at null._onTimeout (/Users/adambaker/Development/lrw/lr/dist/fastboot/vendor.js:16113:16)
    at Timer.listOnTimeout (timers.js:92:15)

After playing around with it for awhile, it seems that the liquid outlets in my app are causing the error. I created a test repo that illustrates the issue https://github.com/bakerac4/fastboot-glimmer2-liquidfire-issue

To reproduce, just use ember fastboot --serve-assets and go to /sites/posts/1 via the url bar.

If you replace the liquid-outlet with a normal outlet there is no error and the page renders as expected.

I can also confirm that everything was fine on ember 2.8.

ghost commented 7 years ago

I'm also experiencing the same error. Downgrading to ember 2.8 solved the issue for now.

tarponjargon commented 7 years ago

I am getting a similar error. I don't think it's fastboot-related. Same thing happens when I just use 'ember serve'. When I change {{liquid-outlet}} to just {{outlet}} everything works fine.

linearza commented 7 years ago

Any progress on this? I just ran into the same issue, even though we arent using liquid fire, so im curious what the solution might be

ef4 commented 7 years ago

@linearza if you aren't using liquid-fire, this is almost certainly a glimmer bug. Please file an issue on https://github.com/emberjs/ember.js

linearza commented 7 years ago

@ef4 - im sure it is! and i might do so, its just a rather complex error to recreate, so was just curious if anyone has solved it before perhaps. thanks though

topaxi commented 7 years ago

This happens in my apps too if loading routes are present (works fine without loading routes).

Duder-onomy commented 6 years ago

This might still be an issue, running into it right now. Though, I have no liquid-outlets.