FIX: page:changed was sometimes reporting the wrong URL
(This change could be considered a little risky so we should keep an eye on it.)
The core issue here is that sometimes as far as the router was concerned we had transitioned to a route even if a Topic model was still in the process of loading. In this case the callback could not retrieve the correct title yet because it had not loaded.
This fix returns a promise from
setupController when visiting a topic,
which will have the router block until the topic is loaded. This means
that the transition never triggers until the topic title is present.
Note: adding a test for this is basically impossible - it was super hard to reproduce even in a browser.
GitHub sha: fc63f0d3