Code relating to the toggle code currently lives in mobile.mediaViewer and we will move it to webpack. Similar to the language feature it is lazy loaded. Note: mobile.notifications has no tests.
Acceptance criteria
- code for mobile.notifications module compiled in webpack
- code for mobile.notifications is not loaded on the critical path - it is delayed until an image is clicked (see also T210210)
- critical js size (mobile.startup.js + mobile.common.js) has not increased. Beware of any modules that are shared among the lazy loaded chunks and are not in mobile.startup.js. Webpack will excise these into mobile.common.js and increase our critical js size.
- tests are ported to node-qunit
- Minerva is retained in a mergeable state throughout the migration. No need to worry about cached html but be wary that skins.minerva.notifications.badge and skins.minerva.notifications make use of the notifications overlay.
- Make sure clicking "Filter" on Special:Notifications continues to open the filter overlay
Code:
Sign off steps
- Progress is updated.