KamoCRM

The JustCall contact import finishes — paced, resumable, and no longer skipping pages

FixVOIPService
Shipped
October 6, 2026 at 2:07 AM UTC
Author
Kamo
Commit
277c3c3

Harmony Home Loans' import had never once completed (no JustCall book or integration exists for any member). Three defects: 1. One burst per tick: it read every contact page back to back, past the account's 90-a-minute allowance, so JustCall answered 429 every ten minutes and nothing was written — and anything else the account did in that minute (an SMS sent from Kamo) was refused with it. 2. No memory: every tick started again from the newest contact. request skipped a page more than the last. x-rate-limit-burst-remaining falls under BURST_RESERVE (30); the place kept between ticks in Redis (JustCallContactcoderStore / RedisJustCallContactcoderStore — losing it costs a re-read, the the page is retried); a full pass every 24 h for edits, and between passes only contacts newer than the newest written — more than a run can read becomes a pass instead of re-reading the top forever. JustCallClient remembers x-rate-limit-burst-remaining (lastBurstRemaining) and its 429 message reports the reset as seconds — the header is seconds (observed 1..60), not the "epoch second 6" it printed — and the account's real per-minute allowance rather than the entry plan's 30. Also VoipRepositoryScanTest's probe gains com.kamo.VOIPService.voicemail, which a828dc2 added to the application's scan but not to the mirror — the suite's one standing failure. Tests: JustCallContactSyncServiceTest (9), **************** (3), JustCallClientRateLimitTest (2) — RED first, 10 failures on the surface-only code. Full suite 961/961.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing