DEV: fix flakeyness with drawer specs (#22476)

Chat drawer was using the `DiscourseURL` hook `afterRouteComplete`. This hook suffer from a very poor implementation which makes it very unreliable:

```javascript
if (typeof opts.afterRouteComplete === "function") {
  schedule("afterRender", opts.afterRouteComplete);
}
```

This commit attempts to return the promise from `handleURL` to directly use it and have a very reliable after transition hook.
This commit is contained in:
Joffrey JAFFEUX
2023-07-07 00:46:04 +02:00
committed by GitHub
parent a032a675c4
commit f0d82de5d9
3 changed files with 4 additions and 9 deletions

View File

@ -825,13 +825,8 @@ export default class ChatLivePane extends Component {
onCloseFullScreen() {
this.chatStateManager.prefersDrawer();
DiscourseURL.routeTo(this.chatStateManager.lastKnownAppURL, {
afterRouteComplete: () => {
this.appEvents.trigger(
"chat:open-url",
this.chatStateManager.lastKnownChatURL
);
},
DiscourseURL.routeTo(this.chatStateManager.lastKnownAppURL).then(() => {
DiscourseURL.routeTo(this.chatStateManager.lastKnownChatURL);
});
}