Strangler lane 2 of 6 (coverage → >95%; see lane 1 for the approach). Depends on #192 / PR #241.
Scope:data/sync/** — SyncWorker, BackfillWorker, PruneWorker, SendWorker, MailSyncer, MailBackfiller, SyncScheduler, SyncResourcePolicy — plus the IMAP/SMTP transport layer and auth/** (OAuth token exchange).
Test approach: JVM unit + GreenMail in-process IMAP/SMTP for transport/sync; mock the OAuth token endpoints. Construct CoroutineWorkers via the existing JVM pattern (see PruneWorkerTest/SyncWorkerTest — relaxed mockk context/params, dagger.Lazy deps, cache-lock-gate → retry). Cover retry/failure/backoff, battery/network constraints, and the cache-lock gate.
Target: ≥95% for the packages in scope; then ratchet the floor.
**Strangler lane 2 of 6** (coverage → >95%; see lane 1 for the approach). Depends on #192 / PR #241.
**Scope:** `data/sync/**` — SyncWorker, BackfillWorker, PruneWorker, SendWorker, MailSyncer, MailBackfiller, SyncScheduler, SyncResourcePolicy — plus the IMAP/SMTP transport layer and `auth/**` (OAuth token exchange).
**Test approach:** JVM unit + **GreenMail** in-process IMAP/SMTP for transport/sync; mock the OAuth token endpoints. Construct CoroutineWorkers via the existing JVM pattern (see PruneWorkerTest/SyncWorkerTest — relaxed mockk context/params, `dagger.Lazy` deps, cache-lock-gate → retry). Cover retry/failure/backoff, battery/network constraints, and the cache-lock gate.
**Target:** ≥95% for the packages in scope; then ratchet the floor.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Strangler lane 2 of 6 (coverage → >95%; see lane 1 for the approach). Depends on #192 / PR #241.
Scope:
data/sync/**— SyncWorker, BackfillWorker, PruneWorker, SendWorker, MailSyncer, MailBackfiller, SyncScheduler, SyncResourcePolicy — plus the IMAP/SMTP transport layer andauth/**(OAuth token exchange).Test approach: JVM unit + GreenMail in-process IMAP/SMTP for transport/sync; mock the OAuth token endpoints. Construct CoroutineWorkers via the existing JVM pattern (see PruneWorkerTest/SyncWorkerTest — relaxed mockk context/params,
dagger.Lazydeps, cache-lock-gate → retry). Cover retry/failure/backoff, battery/network constraints, and the cache-lock gate.Target: ≥95% for the packages in scope; then ratchet the floor.