diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-13 19:59:36 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-13 19:59:36 +0000 |
| commit | e922e14e3ec4b898c111b2100cd63dddbe2fcdb1 (patch) | |
| tree | 8fa2343b4b12ce97108b1e3461410e97a7af8cce /src/git/sync.rs | |
| parent | 8c903c9449d387c9b0edefa5aa283b176a3ed0cb (diff) | |
feat: add SyncLevel to sync system for purgatory announcement state-only sync
Purgatory announcements need state events (kind 30618) synced from
external relays, but not full L2/L3 events (patches, issues, PRs)
which would be rejected anyway. This implements the SyncLevel concept
from the design doc (decision #6):
- Add SyncLevel enum (Full vs StateOnly) to RepoSyncNeeds
- When announcement enters purgatory during sync, register in
RepoSyncIndex with SyncLevel::StateOnly
- Add build_sync_level_aware_filters() that partitions repos by level:
StateOnly repos only get state event filters (kind 30618)
- Update derive_relay_targets to track state_only_repos separately
- Update compute_actions to handle both repo sets
- SelfSubscriber always uses SyncLevel::Full (promoted repos)
Diffstat (limited to 'src/git/sync.rs')
0 files changed, 0 insertions, 0 deletions