Skip to content

Implement ID-Based Rename Handling for DevIndex #9137

@tobiu

Description

@tobiu

Currently, when a user changes their GitHub username, the DevIndex Updater fails with a 404 (Not Found) because it queries by the old login. This results in the user being moved to the Penalty Box and eventually deleted, while the new username might be rediscovered as a fresh user, losing history continuity.

The Solution: ID-Based Rename Recovery

  1. Trigger: When fetchUserData(login) returns a 404/Not Found.
  2. Lookup: Retrieve the immutable github_id (field i) from our local users.jsonl record for that login.
  3. Recovery: Query the GitHub API using the ID (node(id: "...") or user(id: ...)) to find the current login.
  4. Resolution:
    • If Found (New Login):
      • Update tracker.json: Remove old key, add new key (preserve timestamp or reset).
      • Update users.jsonl: Update l (login) and n (name) fields.
      • Log the rename event.
    • If Not Found: Confirm it is a deletion/suspension. Move to Penalty Box (as per existing logic).

This ensures we track the human, not just the handle.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions