-
-
Notifications
You must be signed in to change notification settings - Fork 202
DevIndex: Implement Star-Based Opt-Out Service (OptOut.mjs) #9230
Copy link
Copy link
Closed
Labels
Description
Description
Implement a privacy-focused "stealth" opt-out mechanism for the DevIndex application. Users who star a specific repository (e.g., neomjs/devindex-opt-out) should be automatically removed from the index.
Requirements
- New Service (
apps/devindex/services/OptOut.mjs):- Query the GraphQL API for stargazers of the designated opt-out repository.
- Request stargazers sorted by
STARRED_ATdescending, fetching up to 100 per page. - Support pagination (using
endCursor) to fetch subsequent pages if a large spike occurs untilstarredAtis older thanlastCheck.
- State Tracking:
- Store the timestamp of the last processed star in a new file (e.g.,
apps/devindex/data/optout-sync.json).
- Store the timestamp of the last processed star in a new file (e.g.,
- Blacklisting Logic:
- Add newly discovered stargazers to
apps/devindex/data/blacklist.json. - Remove them from the rich data store (
users.jsonl),tracker.json, andfailed.json.
- Add newly discovered stargazers to
- Pipeline Integration:
- Run this new
OptOut.mjsservice at the beginning of thedevindex-pipeline.ymlworkflow.
- Run this new
Reactions are currently unavailable