== Steps to reproduce
# Login and visit https://en.m.wikipedia.org/wiki/Barack_Obama#/talk on the MinervaNeue mobile site.
# Tap a talk section.
# Tap back.
== Expected results
- A loading interstitial is shown as needed.
== Actual results
- The underlying article is shown momentarily.
{F28790898}
== Environments observed
- Browser version: Chromium v73.0.3683.103
- OS version: Ubuntu v19.04
- Device model: Desktop
- Device language: English
=== Check any additional observations
[] Observed on the [[ https://en.wikipedia.beta.wmflabs.org/wiki/Barack_Obama | beta cluster wiki ]]
[x] Observed on a [[ https://en.m.wikipedia.org/wiki/Barack_Obama | production wiki ]]
[] Observed on [[ https://en.wikipedia.org/wiki/Barack_Obama | Vector desktop skin ]]
[x] Observed on [[ https://en.m.wikipedia.org/wiki/Barack_Obama | MinervaNeue responsive skin ]]
[x] Observed while logged in
[] Observed while //not// logged in (anonymous)
== Dev notes
It seems to be an issue in the [[ https://github.com/wikimedia/mediawiki-extensions-MobileFrontend/blob/12d5017d1ace72540e5bf02a7509cbcdc89d5b72/src/mobile.startup/OverlayManager.js#L135 | OverlayManager ]]. We wait for a Deferred, `factoryResult`, after hiding the last overlay but before showing the next:
```lang=js
// http://stackoverflow.com/a/13075985/365238
if ( typeof factoryResult.promise === 'function' ) {
factoryResult.then( function ( overlay ) {
match.overlay = overlay;
attachHideEvent( overlay );
self._show( overlay );
} );
} else {
match.overlay = factoryResult;
attachHideEvent( match.overlay );
self._show( factoryResult );
}
```