Skip to content

Fix offline player identity lookups#66

Merged
remdui merged 10 commits into
mainfrom
agent/fix-offline-player-identity-lookups
Jul 23, 2026
Merged

Fix offline player identity lookups#66
remdui merged 10 commits into
mainfrom
agent/fix-offline-player-identity-lookups

Conversation

@remdui

@remdui remdui commented Jul 22, 2026

Copy link
Copy Markdown
Member

What changed

  • restore persisted DataRegistry identity fallback after active-cache misses
  • keep active player lookups cache-first
  • resolve known offline players by UUID, case-insensitive username, and player ID
  • add regression coverage for offline and missing identities
  • bound compatibility lookups to three seconds and preserve interruption state

Root cause

The recent asynchronous DataRegistry migration changed PlayerReferenceResolver to read only findActiveIdentityCached(...) and snapshotActiveIdentities(). Offline players are intentionally absent from those active snapshots. Votifier therefore treated a known offline voter as unknown and returned before recording statistics or publishing the Redis reward event.

Other affected features

Because the resolver is shared, the same regression affected offline sanctions, friend targeting, 2FA identifier lookup, settings/persistence operations that resolve an existing UUID, and historical username display by player ID. The central fallback fixes these callers without duplicating feature-specific lookup code.

Validation

  • CI Lint / Checkstyle: passed
  • CI Tests and Coverage / Maven Verify: passed
  • regression tests cover cache hits, persisted offline UUID/name/ID lookups, missing identities, and scalar-ID fallback

@remdui
remdui marked this pull request as ready for review July 22, 2026 12:34
@remdui
remdui merged commit 6b18d5d into main Jul 23, 2026
5 checks passed
@remdui
remdui deleted the agent/fix-offline-player-identity-lookups branch July 23, 2026 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant