{"version":"2.1.222","anchor":"design-oauth-refresh-lock-holds-longer-and-reports-compromis","canonical_anchor":"design-oauth-refresh-lock-holds-longer-and-reports-compromis","heading":"Design OAuth refresh lock holds longer and reports compromise","tier":"notice","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222\/e\/design-oauth-refresh-lock-holds-longer-and-reports-compromis","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222","markdown":"### Design OAuth refresh lock holds longer and reports compromise\n\nSlow token refreshes no longer trip the lock early, cutting spurious login hiccups.\n\n**What**\n\nThe lock guarding OAuth token refresh tolerates slower refreshes and lets the holder find out if its lock was taken away mid-flight.\n\n**Details**\n\n- Stale window raised from 10s to 60s, with a 5s update interval.\n- The callback now receives an object exposing `isCompromised()`.\n- Lock contention throws a dedicated error class rather than a bare `Error`.\n\n**Evidence**\n\n`Design OAuth refresh lock compromised`\n\n- Area: Elsewhere\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 0\/5"}