redisstore.userBaseValue has no Deleted/DeletedAt/Status field, so caching a deleted user silently reset Deleted back to false (and Status to the zero UserStatusUnknown) on every round trip. That never self-healed: each later cache miss reloaded the correctly tombstoned DB row and immediately re-corrupted it on write, so once anyone looked a deleted account up, it kept showing a blank name with "last seen recently" instead of "Deleted Account". Keep deleted users off the base cache entirely so lookups always hit the authoritative store, and stop presence overlay from touching a Deleted user's Status at all as defense in depth. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| doc.go | ||
| premium_test.go | ||
| service.go | ||
| service_test.go | ||