Skip to content

DevIndex: Implement Star-Based Opt-Out Service (OptOut.mjs) #9230

@tobiu

Description

@tobiu

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

  1. New Service (apps/devindex/services/OptOut.mjs):
    • Query the GraphQL API for stargazers of the designated opt-out repository.
    • Request stargazers sorted by STARRED_AT descending, fetching up to 100 per page.
    • Support pagination (using endCursor) to fetch subsequent pages if a large spike occurs until starredAt is older than lastCheck.
  2. State Tracking:
    • Store the timestamp of the last processed star in a new file (e.g., apps/devindex/data/optout-sync.json).
  3. Blacklisting Logic:
    • Add newly discovered stargazers to apps/devindex/data/blacklist.json.
    • Remove them from the rich data store (users.jsonl), tracker.json, and failed.json.
  4. Pipeline Integration:
    • Run this new OptOut.mjs service at the beginning of the devindex-pipeline.yml workflow.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions