mirror of
https://github.com/discourse/discourse.git
synced 2025-02-22 09:27:42 +08:00

(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.