All Docs
FeaturesDepositClearUpdated March 15, 2026

Known Issue: Compliance Dashboard Doesn't Auto-Refresh After Deposit Scheme Updates

Known Issue: Compliance Dashboard Doesn't Auto-Refresh After Deposit Scheme Updates

Version introduced: v0.1.357
Status: Known gap — fix recommended
Affected component: Compliance Dashboard · Deposits at Risk KPI


What's Happening

When an agent updates the deposit scheme or protection reference on a tenancy, the backend correctly fires a tenancy.updated event and the Inngest-powered compliance-auto-check worker re-evaluates compliance on the persistent layer. However, the compliance dashboard UI is not refreshed to reflect this updated state.

As a result:

  • The Deposits at Risk KPI card may still show a tenancy as at-risk even after protection has been successfully logged.
  • The dashboard UI only updates after either the nightly sweep at 2 AM or a manual Re-check / Re-check All action initiated by the agent.
  • Agents have no immediate in-UI confirmation that the updated protection reference was received and evaluated.

Workaround

Until the fix is shipped, agents can manually trigger a compliance re-evaluation from the compliance dashboard:

  1. Navigate to Dashboard → Compliance.
  2. Locate the relevant tenancy row.
  3. Click the Re-check button on that row, or use Re-check All to refresh all tenancies at once.
  4. The compliance status and KPI cards will update immediately after the manual re-check completes.

Note: The underlying deposit protection data is saved correctly to the database as soon as the agent submits it. The gap is purely in UI feedback — no data is lost.


Root Cause

The compliance auto-check pipeline (compliance-auto-check.ts) listens for tenancy.created and tenancy.updated events and re-evaluates compliance at the Inngest (server) level. However, there is no client-side cache invalidation triggered after a deposit-related tenancy mutation. The dashboard therefore continues to render the cached (pre-update) compliance state until the next scheduled sweep.


Planned Fix

The recommended resolution involves two client-side changes only — no changes to the server-side compliance pipeline are needed:

1. Optimistic Cache Invalidation

After any tenancy mutation that modifies deposit-related fields (scheme, protection reference, protection date), the compliance cache should be optimistically invalidated client-side so that KPI cards clear stale counts immediately.

2. Compliance updated Toast Notification

Once the server-side re-check result is available, a toast notification should be shown to the agent:

✅ Compliance updated — 12 passing · 1 requires attention

This gives agents immediate, explicit confirmation that the protection reference was recorded and evaluated without requiring them to navigate to the compliance dashboard.


Affected Files

FileRole
src/app/dashboard/compliance/compliance-dashboard.tsxCompliance dashboard UI, Re-check buttons, KPI cards
compliance-auto-check.tsInngest worker — handles tenancy.created / tenancy.updated events

Frequently Asked Questions

Is my deposit protection data actually saved when I submit it?
Yes. Data is written to the database immediately. The gap is UI-only — the dashboard display does not update until a manual re-check or the nightly sweep.

Will the nightly sweep fix the KPI automatically?
Yes. The nightly compliance sweep runs at 2 AM and will correct all KPI counts. If you need the dashboard to reflect the current state sooner, use the manual Re-check button.

Does this affect compliance reporting or audit logs?
No. The server-side compliance record is updated correctly by the tenancy.updated auto-check. Only the dashboard UI display is affected.