Currently, calls to the growthtasks API don't result in refreshed TaskSet objects. E.g. calling https://cs.wikipedia.org/w/api.php?action=query&format=json&uselang=en&list=growthtasks&formatversion=2>tasktypes=image-recommendation multiple times will yield the same items in the result set.
One way to address that is to have the endpoint work similarly to SuggestedEdits module on Special:Homepage: after retrieving the task set object, we use a deferred update to refresh the cached object.
We could also provide a parameter for the API to bypass the cache.
Note that clients which want to provide psuedo pagination of results should use the excludepageids parameter to ensure that subsequent calls to the API don't yield matches with what the client has already seen.
Acceptance Criteria
- Should be able to see different results when querying the growthtasks API.
- Should be able to bypass the cache with a query parameter with the growthtasks API
Completion checklist
Functionality
- The patches have been code reviewed and merged
- The task passes its acceptance criteria
Engineering
- There are existing and passing unit/integration tests
- Tests for every involved patch should pass
- Coverage for every involved project should have improved or stayed the same
Design & QA
- If the task is UX/Design related: it must be reviewed and approved by the UX/Design team
- Must be reviewed and approved by Quality Assurance.
Documentation
- Related and updated documentation done where necessary
- Internal technical changes: internal repository documentation must be updated (README.md, JSDoc, PHPDoc)
- Infrastructure technical changes: technical changes that reflect on environment, infrastructure, endpoints or any other area of interest for technical contributors should be reflected on Extension:GrowthExperiments or Extension:GrowthExperiments/Technical documentation pages.