Page MenuHomePhabricator

Reading List Phase 2 - API endpoint to get all list items
Closed, ResolvedPublic3 Estimated Story PointsSpike

Description

NOTE: This is a blocker for shipping reading lists to users with existing lists on apps. We'll need to give the iOS app at least 3 months to update app with a fix for T406532: [L] [BUG] Saved > All Articles does not show non-default articles prior to our own launch.

Feature summary (what you would like to be able to do and where):
It should be possible to query the readinglistentries API without a list ID to get a list of all the articles across all reading lists owned by the user.
e.g. https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&list=readinglistentries&formatversion=2

Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):

  • The iOS app has a "all articles" tab which doesn't reflect all articles (T406532)
  • Web initially will not support multiple lists and we'd like a flattened view of all saved pages prior to shipping to apps users

Benefits (why should this be implemented?):

Apps users will be confused if they do not see pages from other lists.

Event Timeline

Jdrewniak triaged this task as Medium priority.Aug 27 2025, 2:58 PM
Jdlrobson-WMF raised the priority of this task from Medium to High.Nov 10 2025, 10:23 PM
HFan-WMF lowered the priority of this task from High to Medium.Nov 12 2025, 6:46 PM
HFan-WMF raised the priority of this task from Medium to High.Nov 26 2025, 10:47 PM

Change #1214136 had a related patch set uploaded (by Aude; author: Aude):

[mediawiki/extensions/ReadingLists@master] POC - Make rlelists param optional in readinglistentries query api

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

Change #1214136 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] Make rlelists param optional in readinglistentries query api

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

Etonkovidova subscribed.

https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&format=json&list=readinglistentries&formatversion=2 does show all lists:

e.g.

{
    "batchcomplete": true,
    "query": {
        "readinglistentries": [
            {
                "id": 95830209,
                "listId": 5525729,
                "project": "https://en.wikipedia.org",
                "title": "Gary_Evans_(psychologist)",
                "created": "2025-12-19T23:15:30Z",
                "updated": "2025-12-19T23:15:30Z"
            },
            {
                "id": 95830204,
                "listId": 5525729,
                "project": "https://en.wikipedia.org",
                "title": "Robert_Dick_(geologist)",
                "created": "2025-12-19T23:15:21Z",
                "updated": "2025-12-19T23:15:21Z"
            }
        ]
    }
}

Note:
@Jdlrobson-WMF - If the scope of this task is to add API endpoint, then the task is done. I still see the issue - the default list doesn't show all added articles on iOS app "All articles" tab for the use case described in T406532.

I checked the straightforward case

  • an article is added on iOS app to a specific list
  • the added article will be displayed in "All articles"

On the screenshot below the Reading list "Dec 22 Test 2" displays all articles belonging to that reading list:

IMG_7628.PNG (1×828 px, 416 KB)

Jdlrobson-WMF added a subscriber: aude.

I'll open a follow up ticket for the remaining work!