Page MenuHomePhabricator

[Regression] Pagination doesn't work (there's no automatic load of previous threads on scroll)
Closed, ResolvedPublic

Description

When you open a flow board it loads a maximum number of topics. If there are more topics on the board, when the user scrolls down to the bottom of the page they're loaded dynamically.

This has stopped working.

Example: https://www.mediawiki.org/wiki/Project:Support_desk

When reaching the end of the page, a "loading" image or text (I don't remember) appeared and more flow topics were loaded, but it doesn't seem to do nothing now... nor even a request to the server (looking at the browser's console). No JavaScript errors found in the browser's console.

Tested on Firefox and Chrome.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

I did not investigate in details but the function that triggers load on scroll seems to fail early. The important part in the stack below is flowBoardComponentLoadMoreFeatureInfiniteScrollCheck in flow-board-loadmore.js:432

JQMIGRATE: jQuery.fn.offset() requires a valid DOM element
migrateWarn @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:10342
jQuery.fn.offset @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:10778
_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck @ flow-board-loadmore.js?95751:432
(anonymous) @ flow-board-loadmore.js?95751:325
emitWithReturn @ flow-component-events.js?bc3e5:134
(anonymous) @ flow-component-events.js?bc3e5:219
(anonymous) @ flow-component-events.js?bc3e5:87
exec @ jquery.ba-throttle-debounce.js?cd39f:149
wrapper @ jquery.ba-throttle-debounce.js?cd39f:170
dispatch @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:5206
elemData.handle @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:5014
trigger @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:8201
(anonymous) @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:8269
each @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:362
each @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:157
trigger @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:8268
flowEventsMixinInstantiationComplete @ flow-component-events.js?bc3e5:649
(anonymous) @ flow-component-events.js?bc3e5:165
emitWithReturn @ flow-component-events.js?bc3e5:134
_RecursiveConstructor @ flow-registry.js?261fb:61
initFlowComponent @ flow-registry.js?261fb:83
mw.flow.Initializer.initOldComponent @ mw.flow.Initializer.js?97c05:168
(anonymous) @ flow-initialize.js?f69f5:28
mightThrow @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3583
process @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3651
setTimeout (async)
(anonymous) @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3689
fire @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3317
add @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3376
(anonymous) @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3709
jQuery.Deferred @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:10863
then @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3694
jQuery.fn.ready @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3882
jQuery.fn.init @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:3050
jQuery.fn.init @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:10395
jQuery @ load.php?debug=true&lang=en&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin=vector&version=1gw6vsj:98
(anonymous) @ flow-initialize.js?f69f5:10
(anonymous) @ flow-initialize.js?f69f5:75

Change 373566 had a related patch set uploaded (by Sbisson; owner: Sbisson):
[mediawiki/extensions/Flow@master] Fix infinite scroll

https://gerrit.wikimedia.org/r/373566

Change 373566 merged by jenkins-bot:
[mediawiki/extensions/Flow@master] Fix infinite scroll

https://gerrit.wikimedia.org/r/373566

Change 373713 had a related patch set uploaded (by Mattflaschen; owner: Sbisson):
[mediawiki/extensions/Flow@wmf/1.30.0-wmf.15] Fix infinite scroll

https://gerrit.wikimedia.org/r/373713

Change 373713 merged by jenkins-bot:
[mediawiki/extensions/Flow@wmf/1.30.0-wmf.15] Fix infinite scroll

https://gerrit.wikimedia.org/r/373713

Mentioned in SAL (#wikimedia-operations) [2017-08-25T01:12:17Z] <mattflaschen@tin> Synchronized php-1.30.0-wmf.15/extensions/Flow/modules/engine/components/board/features/flow-board-loadmore.js: T173807: Fix Flow infinite scroll (duration: 00m 45s)

It now works as expected. Thanks!