Page MenuHomePhabricator

Protection log entries for Flow pages link to broken action=history&offset=... URLs
Open, MediumPublic

Description

The log entry for a protection log generates links with an offset parameter to action=history, but that gives an backtrace on Flow:

http://de.wikipedia.beta.wmflabs.org/w/index.php?title=Wikipedia:Flow_Test&action=history&offset=20150809134231

[8c789cfc] /w/index.php?title=Wikipedia:Flow_Test&action=history&offset=20150809134231 Flow\Exception\DataModelException from line 247 of /srv/mediawiki/php-master/extensions/Flow/includes/Data/Index/FeatureIndex.php: Unable to find specified offset in query results

Backtrace:

#0 /srv/mediawiki/php-master/extensions/Flow/includes/Data/Index/FeatureIndex.php(195): Flow\Data\Index\FeatureIndex->getOffsetFromKey(array, string)
 #1 /srv/mediawiki/php-master/extensions/Flow/includes/Data/Index/FeatureIndex.php(492): Flow\Data\Index\FeatureIndex->getOffsetLimit(array, array)
 #2 /srv/mediawiki/php-master/extensions/Flow/includes/Data/Index/FeatureIndex.php(440): Flow\Data\Index\FeatureIndex->filterResults(array, array)
 #3 /srv/mediawiki/php-master/extensions/Flow/includes/Data/Index/BoardHistoryIndex.php(50): Flow\Data\Index\FeatureIndex->findMulti(array, array)
 #4 /srv/mediawiki/php-master/extensions/Flow/includes/Data/ObjectLocator.php(80): Flow\Data\Index\BoardHistoryIndex->findMulti(array, array)
 #5 /srv/mediawiki/php-master/extensions/Flow/includes/Data/ObjectLocator.php(55): Flow\Data\ObjectLocator->findMulti(array, array)
 #6 [internal function]: Flow\Data\ObjectLocator->find(array, array)
 #7 /srv/mediawiki/php-master/extensions/Flow/includes/Data/ManagerGroup.php(129): call_user_func_array(array, array)
 #8 /srv/mediawiki/php-master/extensions/Flow/includes/Data/ManagerGroup.php(141): Flow\Data\ManagerGroup->call(string, array)
 #9 /srv/mediawiki/php-master/extensions/Flow/includes/Formatter/BoardHistoryQuery.php(31): Flow\Data\ManagerGroup->find(string, array, array)
 #10 /srv/mediawiki/php-master/extensions/Flow/includes/Data/Pager/HistoryPager.php(65): Flow\Formatter\BoardHistoryQuery->getResults(Flow\Model\UUID, integer, Flow\Model\UUID, string)
 #11 /srv/mediawiki/php-master/extensions/Flow/includes/Block/BoardHistory.php(80): Flow\Data\Pager\HistoryPager->doQuery()
 #12 /srv/mediawiki/php-master/extensions/Flow/includes/View.php(177): Flow\Block\BoardHistoryBlock->renderApi(array)
 #13 /srv/mediawiki/php-master/extensions/Flow/includes/View.php(69): Flow\View->buildApiResponse(Flow\WorkflowLoader, array, string, array)
 #14 /srv/mediawiki/php-master/extensions/Flow/includes/Actions/Action.php(101): Flow\View->show(Flow\WorkflowLoader, string)
 #15 /srv/mediawiki/php-master/extensions/Flow/includes/Actions/Action.php(46): Flow\Actions\FlowAction->showForAction(string)
 #16 /srv/mediawiki/php-master/includes/MediaWiki.php(456): Flow\Actions\FlowAction->show()
 #17 /srv/mediawiki/php-master/includes/MediaWiki.php(255): MediaWiki->performAction(Article, Title)
 #18 /srv/mediawiki/php-master/includes/MediaWiki.php(677): MediaWiki->performRequest()
 #19 /srv/mediawiki/php-master/includes/MediaWiki.php(474): MediaWiki->main()
 #20 /srv/mediawiki/php-master/index.php(41): MediaWiki->run()
 #21 /srv/mediawiki/w/index.php(3): include(string)
 #22 {main}

Event Timeline

Umherirrender raised the priority of this task from to Needs Triage.
Umherirrender updated the task description. (Show Details)
Umherirrender subscribed.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Catrope renamed this task from action=history with offset: "Unable to find specified offset in query results" to Protection log entries for Flow pages link to broken action=history&offset=... URLs.Aug 26 2015, 11:47 PM
Catrope set Security to None.
Catrope subscribed.

Flow should override the protection log entry to point the history link to something that does work.

Catrope triaged this task as Medium priority.Aug 26 2015, 11:48 PM

Maybe it is just an problem by a parameter name conflict (Flow is using offset with other values like core?), in that case Flow has to use another parameter name and Flow has to map the offset value to the correct Flow offset parameter