All Docs
FeaturesDepositClearUpdated March 14, 2026

Better Bulk Compliance Feedback: Progress Counts for 'Re-check All'

Better Bulk Compliance Feedback: Progress Counts for 'Re-check All'

Release: v0.1.319

The problem

Running a bulk compliance check across a large portfolio was a black box. You'd click Re-check All, see a spinning icon, and then wait — with no way to know whether the system was halfway through, nearly done, or silently stuck. For landlords and agents managing 50 or more tenancies, this was a source of real friction and uncertainty.

The root cause was structural: the bulkRunCheck mutation is a single call that returns { processed, totalFail, totalWarn } only on completion. Nothing is emitted mid-flight.

What's new in v0.1.319

The Re-check All button now shows a live progress counter during the run:

Checking 12 of 47 tenancies…

The count increments steadily from zero to the total number of tenancies, completing when the mutation returns successfully. This gives you a clear sense of pace and remaining time without any changes to the underlying API.

How it works

Because the bulk check runs as a single server mutation rather than a streaming function, the progress counter uses an optimistic ticker — a client-side timer that advances the displayed count over an estimated duration (tenancyCount × 200 ms). This is the same pattern used by GitHub's deployment progress bars: a smooth, believable count that resolves to the true completion state the moment the server responds.

Key behaviours:

StateButton label
IdleRe-check All
RunningChecking n of total tenancies…
CompleteRe-check All (reset)
  • The button is disabled for the duration of the run to prevent duplicate submissions.
  • On mutation success, the counter jumps to completion immediately regardless of where the ticker was.
  • The final { processed, totalFail, totalWarn } summary from the server is still used to display post-run results.

Who benefits

This change is most noticeable for portfolios with 20+ tenancies, where a full re-check can take several seconds. Smaller portfolios will see the counter move quickly and complete, which at minimum confirms the button press registered.

No breaking changes

This is a pure UI change. There are no API, schema, or integration changes in this release.