diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-24 09:19:02 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-24 09:19:02 +0000 |
| commit | 0b9861e14f23cc615d33ebd8845a36b40516a8a5 (patch) | |
| tree | 6fd0f76eec50192aa4d8101852674a2ab56b5bcc /src/sync/algorithms.rs | |
| parent | f62846b2966e0a3ffc93e718bbe44137d01c66b3 (diff) | |
Fix purgatory announcement not promoted when OIDs arrive via cross-owner state event copy
When git data is fetched into owner A's repo and a state event for owner B
is released from purgatory (copying OIDs from A's repo to B's repo via
process_state_with_git_data), owner B's purgatory announcement was never
promoted. process_purgatory_announcements only promotes the announcement
for the owner derived from source_repo_path (owner A), so owner B's
announcement stayed in purgatory with its 30-minute expiry timer running.
30 minutes later the cleanup task would soft-expire owner B's entry,
deleting the bare repository even though the announcement had been
effectively satisfied.
Fix: after a state event is successfully saved to the database, iterate
over all announcements in db_repo_data and promote any purgatory
announcement for owners whose repos received OIDs via the copy (i.e.
repos other than source_repo_path).
Diffstat (limited to 'src/sync/algorithms.rs')
0 files changed, 0 insertions, 0 deletions