From 45fd45f5da386cea11e51f24f3240ce85236261c Mon Sep 17 00:00:00 2001 From: rob thijssen Date: Tue, 5 May 2026 17:59:31 +0300 Subject: [PATCH] fix: stamp _repo into github-repo commit payloads for project attribution The /repos/{owner}/{repo}/commits endpoint doesn't include repo info in its response. Without _repo in the payload, these commits were invisible to the projects query. Add _repo to parse_commit and include it in the COALESCE chain for github source repo extraction. After deploy, reset github-repo poller state to re-ingest with _repo: DELETE FROM poller_state WHERE source LIKE 'github-repo%'; Co-Authored-By: Claude Opus 4.6 (1M context) --- crates/moments-data/src/github_repo.rs | 7 ++++++- crates/moments-data/src/lib.rs | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/moments-data/src/github_repo.rs b/crates/moments-data/src/github_repo.rs index 42bbbab..807133f 100644 --- a/crates/moments-data/src/github_repo.rs +++ b/crates/moments-data/src/github_repo.rs @@ -244,13 +244,18 @@ fn parse_commit(item: &Value, repo: &Repo) -> Option { .ok()? .with_timezone(&Utc); + let mut payload = item.clone(); + if let Some(obj) = payload.as_object_mut() { + obj.insert("_repo".into(), Value::String(repo.full_name.clone())); + } + Some(Event { id: format!("github-commit:{sha}"), source: Source::Github, action: "Commit".into(), occurred_at, public: !repo.private, - payload: item.clone(), + payload, }) } diff --git a/crates/moments-data/src/lib.rs b/crates/moments-data/src/lib.rs index 0cb317f..4bb4a46 100644 --- a/crates/moments-data/src/lib.rs +++ b/crates/moments-data/src/lib.rs @@ -145,7 +145,8 @@ impl EventReader for PgStore { CASE source WHEN 'github' THEN COALESCE( payload->'repo'->>'name', - payload->'repository'->>'full_name' + payload->'repository'->>'full_name', + payload->>'_repo' ) WHEN 'gitea' THEN COALESCE( payload->'repo'->>'full_name',