It works for me when bluebird is removed from aurelia.json prepend section. But that breaks IE11 if it is important for you. for me it is
@magnusdanielson If you dont need to use Bluebird’s promise cancellation feature, adding the following lines to your index html will make it work:
<script>Promise = undefined</script> <script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script>
I think it boils down to the following difference:
– Native –
– Bluebird –
Notice how the 2 “micro task resolved” is logged after “promise then chain resolved” in bluebird, which could cause this line https://github.com/aurelia/router/blob/master/src/router.js#L204 to run before the micro task queue that bindings (read Repeat) uses to process changes / model / render UI
That said, it still doesn’t explain why it worked before, and now it stops working.
The bug only affects end user when both issue(1) and issue(2) are present.
It worked before because issue(2) doesn’t exist before aurelia-templating-resources 1.7.0.
- issue 2 is absent
It worked on gistrun because the rjs-bundle doesn’t bundle bluebird.
- issue 1 is absent
This means the issue (1) (timing bug with bluebird) has been here for a long long time but didn’t manifest itself, like a recessive gene.
So cool to watch you two get to the root of it (-: