Here is a reproduction app: https://github.com/workmanw/router-retry-bug
Here is a live demo: https://workmanw.github.io/router-retry-bug
(I couldn't make a twiddle because it doesn't seem to support beta builds at the moment)
The issue seems to be that if the initial [first] transition within an ember app is aborted via redirect, then later someone tries to call transition.retry it doesn't work as expected. While it does ultimately transition correctly, it doesn't update the URL. You should be able to easily reproduce this with the live demo above.
I bisected this issue and it seems to be cause by this PR: https://github.com/emberjs/ember.js/pull/15168
CC: @cibernox
Ya, the bug is ultimately over in router.js. It seems like an interaction between https://github.com/tildeio/router.js/pull/211 and https://github.com/tildeio/router.js/pull/197.
It may just be that if the initial transition is aborted, that we change the method from replace...
@cibernox / @alexspeller - Can one of y'all take a look and help me hash out the right solution?
I'm on holidays until Wednesday. Since my change was the last one, I'd try the same reproduction with the previous version of router.js. At least we know what PR broke it, although I suspect it's mine.
Ya, almost certainly yours. However, I think the solution is that we need to do the same sort of thing before deciding to inherit the method type. Basically, if the method type set to replace _only_ because of a redirect on initial transition into the app, then we do not keep it as replace...
I'm staring at a deadline at the moment, I'll look at this ASAP
I'll also try to look at this at some point today.
https://github.com/tildeio/router.js/pull/213 should fix...