To handle collating and selecting edits from multiple sources of edits for a given user, we would like to use a Pinia store. This will allow us to move faster in adding additional sources of changes to the Review Changes module.
The goal is to refactor our current composable function in a way that separates out the fetching of different sources as actions in a Pinia store.
For example right now we are fetching from Watchlist and Recent Changes (high risk changes) in one big function, but we could separate out some of this logic into different actions using Pinia and then merge them based on priority.
Our store getter would become the merged feed in the Pinia store.
We can also reference the PageTriage Pinia store for inspiration.
Acceptance Criteria:
- Define a new Pinia store interface (The store should be designed to easily support additional feed sources without modifying existing merge logic)
- Create Pinia actions for fetching the individual feed sources (can use composables here)
- Create a mergedFeed getter that consolidates the different source actions based on priority and weight (TBD, for now we're doing quota method).
- Ensure each action returns normalized data (consistent shape across feeds)
- Move shared transformation logic (e.g. filtering, tagging, deduplication) into reusable helpers
