Page MenuHomePhabricator

On Special:Contributions, choosing to display a large number of results (e.g. 500) ignores the chosen time frame
Closed, ResolvedPublic

Description

Hi all. Three strange behaviours concerning the user 'Contribution' function in upper right link of the user page (ex: https://www.mediawiki.org/wiki/Special:Contributions/Wladek92 ) . Accept default options and go to fields FROM DATE and TO DATE.

  1. I want my job of yesterday (17 jul 2019): I select 500 records per page on the bottom of the page "(newest | oldest) View (newer 50 | older 50) (20 | 50 | 100 | 250 | 500)", I select both the same dates (17 jul 2019) in the calendar for FROM DATE and TO DATE, and i hit Search . Then I see my work of 17 jul 2019 but also the ones of 15 , 14 july ...

    -> the articles displayed should be limited to the requested dates (15 july, 14 ...etc are out of scope)
  1. I want my contributions for a day I have not worked (Wed 10 july 2019) I follow the same procedure setting in the calendar FROM DATE = TO DATE = Wed 10 july 2019) , and I see all articles been done before i.e. : 8 july, 6 july ... which are out of scope since I requested only wed 10)

    -> the search should match the requested date

3. I erroneously swap FROM date being younger than TO date i.e. in the calendar again, I set FROM DATE = 16 july and TO DATE = 15 july and hit Sarch ; then the dates swap automatically on the screen after an automatic refresh and it displays my contributions of today 17 jul plus 16 and 15 and 14....

-> one can chose to display the contributions in reverse order, or abort with a warning saying to input correct dates, but the display limits should always restrict to the selected dates.

Event Timeline

Aklapper changed the task status from Open to Stalled.Jul 19 2019, 9:48 AM
Aklapper removed a project: Wikimedia-Bugzilla.

Hi @Wladek92, thanks for taking the time to report this!

Unfortunately this report lacks some information. If you have time and can still reproduce the problem: Please add a more complete description to this report.

That can be a clear list of specific steps to reproduce the situation, as little details sometimes matter, so that nobody needs to guess how you performed each step, describing actual results and expected results after performing the steps to reproduce, providing a link to a public website where the issue can be seen, if you see the same behavior when you are not logged in, information about your web browser(s), MediaWiki version information (if it is not on a Wikimedia wiki), etc.

You can edit the task description by clicking Edit Task.

Ideally, exact and clear steps to reproduce should allow any other person to follow these steps (without having to interpret those steps) and see the same results. Problems that others can reliably reproduce can get fixed faster. Thanks!

A clear list of steps to reproduce is welcome. Let me see if I understand correctly:

Item 1 and Item 2:

Steps to reproduce:

  1. Go to https://www.mediawiki.org/wiki/Special:Contributions/Wladek92
  2. Scroll to the bottom
  3. In the line (newest | oldest) View (newer 50 | older 50) (20 | 50 | 100 | 250 | 500), click 500
  4. At the top of the page, Set both From date: and To date: fields to 2019-07-17
  5. Click the Search button.
  6. Scroll down in the results.

Expected outcome:
Only contributions in the specified dat range are displayed

Actual outcome:
Contributions back to 2016 are listed.

Item 3:

Steps to reproduce:

  1. Go to https://www.mediawiki.org/wiki/Special:Contributions/Wladek92
  2. Scroll to the bottom
  3. In the line (newest | oldest) View (newer 50 | older 50) (20 | 50 | 100 | 250 | 500), click 500
  4. At the top of the page, set the From date: to 2019-07-17
  5. At the top of the page, set the To date: to an earlier date than the From date.
  6. Click the Search button.

Expected outcome:
There should be a warning that the time frame is negative.

Actual outcome:
Contributions back to 2016 are listed.

If I am correct then these are two different issues. Please file a new task for the third item. See https://www.mediawiki.org/wiki/How_to_report_a_bug : "Include only one problem per task".

Aklapper renamed this task from Wikimedia: Strange behaviours concerning user 'Contribution' link on date selection to On Special:Contributions, choosing to display a large number of results (e.g. 500) ignores the chosen time frame.Jul 19 2019, 4:49 PM
Aklapper changed the task status from Stalled to Open.
Aklapper updated the task description. (Show Details)

oh yes it is very clear, thank you. The 3rd point has been detached from here and moved consequently to additional new task : https://phabricator.wikimedia.org/T228572

Change 863446 had a related patch set uploaded (by Func; author: Func):

[mediawiki/core@master] pager: Fix navigations when date range is set

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

Change 863446 merged by jenkins-bot:

[mediawiki/core@master] pager: Fix navigations when date range is set

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

matmarex assigned this task to Func.
matmarex subscribed.

The fix will be deployed to Wikimedia wikis this week, per the usual schedule.

@matmarex the associated change breaks the CheckUser test pipeline - see https://integration.wikimedia.org/ci/job/mwext-php74-phan-docker/15249/console#console-section-3.

I've created a revert of this patch as CheckUser uses this variable and it being undefined is likely to cause server errors once it comes round to being deployed.

I think reverting is not the first choice when it can work as expected.
It should be easy to fix the test, I can do that this afternoon (UTC+8) if you are not sure.

This change causes Special:CheckUser's period selection to break, which is not the the test being wrong and the test failing shows that this is broken. It also causes pipeline failures with phan which means that no new changes can be merged until this is fixed in that extension (unless phan misses the issue).

I've made a bug report for this and made this a subtask of the train deployments so that this holds the train. Task is at T325034.

In any case I've abandoned the change to revert, but not sure right now what the fix is for CheckUser.

Change 866821 had a related patch set uploaded (by Func; author: Func):

[mediawiki/core@master] RangeChronologicalPager: Restore the compatibility with derived classes

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

Change 866821 merged by jenkins-bot:

[mediawiki/core@master] RangeChronologicalPager: Restore the compatibility with derived classes

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

Change 867237 had a related patch set uploaded (by Func; author: Func):

[mediawiki/core@wmf/1.40.0-wmf.14] RangeChronologicalPager: Restore the compatibility with derived classes

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

Change 867237 merged by jenkins-bot:

[mediawiki/core@wmf/1.40.0-wmf.14] RangeChronologicalPager: Restore the compatibility with derived classes

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

Mentioned in SAL (#wikimedia-operations) [2022-12-13T15:18:53Z] <derick@deploy1002> Started scap: Backport for [[gerrit:867237|RangeChronologicalPager: Restore the compatibility with derived classes (T228431 T325034)]]

Mentioned in SAL (#wikimedia-operations) [2022-12-13T15:20:38Z] <derick@deploy1002> derick and func: Backport for [[gerrit:867237|RangeChronologicalPager: Restore the compatibility with derived classes (T228431 T325034)]] synced to the testservers: mwdebug1001.eqiad.wmnet, mwdebug2002.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug2001.codfw.wmnet

Mentioned in SAL (#wikimedia-operations) [2022-12-13T15:27:53Z] <derick@deploy1002> Finished scap: Backport for [[gerrit:867237|RangeChronologicalPager: Restore the compatibility with derived classes (T228431 T325034)]] (duration: 08m 59s)