Player Privacy Cache Gone Silent
When a player tweaks their presence privacy, the system fails to refresh their cached profile - so others keep seeing stale data. This function, updatePresencePrivacy, updates the privacy setting but leaves cached profiles untouched. The profile cache stays locked on the old mode, exposing privacy settings like a digital ghost. Line 355 - 379 in presence.service.ts silently skips cache invalidation. As a result, a shift from public to private doesn’t erase the old visibility - others still see the old access levels until the cache refreshes. This creates a real gap between intent and reality. The cache, supposed to keep profiles secure and current, ends up ghosting players’ choices. This isn’t just a backend hiccup - it’s a trust issue.
Psychologically, users expect their privacy changes to update instantly. When profiles lag, it breeds confusion and mistrust - especially in chatrooms or competitive games where image matters. Think of a player switching to private after a heated match; their profile remains visible as public in cached feeds.
Three under-discussed realities:
- Cache invalidation isn’t automatic, even when privacy settings change.
- The
getCachedPlayerProfilefunction pulls stale data regardless of backend updates. - The
applyPrivacyModefilter blindly applies cached rules, bypassing real-time shifts.
Ethically, this gap risks exposing players to unwanted attention. Do players really trust that their privacy choices are honored instantly? Or do they silently accept outdated profiles?
To fix it: patch presence.service.ts to call the cache invalidation immediately after privacy updates. Keep privacy changes meaningful, not just technical footnotes.
Next time you update your privacy, ask: does your profile reflect who you really want to share with? Or does the cache keep you stuck in the past?