diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-17 11:43:40 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-17 11:43:40 +0000 |
| commit | cad58fccae7ed84bb033e56de0f1323b714a854d (patch) | |
| tree | 9635381a3a8c35d8e4f83f2686304874b1523433 /src/git/sync.rs | |
| parent | efbbcc49ae8e8f598a24c939b35ad9cda0541663 (diff) | |
docs: clarify why fetch_repository_data excludes purgatory
Add comments explaining that PR event processing (both incoming and
purgatory) should only use database announcements, not purgatory ones.
This is intentional because:
- Incoming PR events should only be accepted for validated announcements
- Purgatory PR events should only be released when announcement is promoted
- This prevents accepting PR events for announcements that fail validation
Differs from state event processing which uses fetch_repository_data_with_purgatory
because state events check authorization without releasing from purgatory.
Diffstat (limited to 'src/git/sync.rs')
| -rw-r--r-- | src/git/sync.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/git/sync.rs b/src/git/sync.rs index a0b7c47..4b35023 100644 --- a/src/git/sync.rs +++ b/src/git/sync.rs | |||
| @@ -1171,6 +1171,9 @@ async fn process_purgatory_pr_events( | |||
| 1171 | ); | 1171 | ); |
| 1172 | 1172 | ||
| 1173 | // Fetch repository data for syncing | 1173 | // Fetch repository data for syncing |
| 1174 | // NOTE: Only fetch from database, NOT purgatory. PR events should only be | ||
| 1175 | // released from purgatory when the announcement has been promoted (validated). | ||
| 1176 | // This ensures we don't accept PR events for announcements that fail validation. | ||
| 1174 | let db_repo_data = match fetch_repository_data(database, identifier).await { | 1177 | let db_repo_data = match fetch_repository_data(database, identifier).await { |
| 1175 | Ok(data) => data, | 1178 | Ok(data) => data, |
| 1176 | Err(e) => { | 1179 | Err(e) => { |