mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-18 07:30:29 +00:00
Logout answered an undeclared 404 when its grant was already gone, for example revoked by another node inside the liveness cache window or by a concurrent logout. It now treats a missing grant as success and still evicts the cache entry, so logout always answers 200. Grants left on an older user epoch (after a password reset through the existing UI, or a login that raced a password change) are dead but only deleted when presented. Listing and counting grants now filter on the user's current epoch, so those grants no longer show up. dropGrant now deletes before evicting, like RevokeGrant, so a concurrent cache fill cannot re-cache a grant that is being dropped.