26 Commits
Author SHA1 Message Date
OEVGandClaude Opus 5.5 1ae8398a2d Bound the player cache and stop per-frame range checks
- libunitscan: expire the shared player cache once per session (180 days
  for known classes, 90 for class-less, at most 10,000 players). Every
  sighting now stamps an age, so roster and mouseover entries can expire.
- libunitscan: keep a player's GUID only while the class is unknown and
  resolve such entries later with GetPlayerInfoByGUID.
- libunitscan: skip the GUID lookup for known chat speakers seen within
  the hour, throttle full guild rescans to once a minute, skip UnitGUID
  when UnitClass answered, and query ClassicAPI's player cache once per
  miss instead of twice.
- Social Colors: drop its separate 180-day cleanup.
- Range Color: use its own 0.2 s timer. Sharing Blizzard's rangeTimer ran
  the check every frame for every ranged button.
- Docs/PERFORMANCE.md: document the cache rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019W3rwusM4i1CYaHQAYixJ7
2026-11-02 00:09:59 +00:00
OEVG 48d45f8fe6 Apply Patch 2026-10-30 20:06:32 +00:00
Dusk-92 6702c9168a Gate optimized nameplate paths on reload-safe ClassicAPI 2026-09-03 16:05:06 +02:00
Dusk-92 d9eef56498 Fix final shared cache migration edge cases 2026-09-01 14:58:49 +02:00
Dusk-92 206fe264a8 Finish shared cache migration safeguards 2026-09-01 14:30:31 +02:00
Dusk-92 4329f0603a Normalize cache after realm resolution 2026-09-01 14:29:11 +02:00
Dusk-92 63603c9994 Avoid redundant shared cache normalization 2026-09-01 14:28:35 +02:00
Dusk-92 a5b4d21f55 Normalize existing shared player cache 2026-09-01 14:26:52 +02:00
Dusk-92 b75a1cdd19 Normalize migrated shared player data 2026-09-01 14:25:45 +02:00
Dusk-92 f8aab8de0f Minimize shared cache hot-path overhead 2026-09-01 14:23:46 +02:00
Dusk-92 f2836088db Finalize shared cache edge cases 2026-09-01 14:18:28 +02:00
Dusk-92 6bcf006c9c Harden shared player cache migration 2026-09-01 14:15:12 +02:00
Dusk-92 f7dc300faf Protect migrated player caches with grace period 2026-09-01 13:54:35 +02:00
Dusk-92 9ba28eb087 Prevent per-character player cache persistence 2026-09-01 11:57:38 +02:00
Dusk-92 c01e5498ba Use shared numeric player timestamps 2026-09-01 11:47:42 +02:00
Dusk-92 4e35985f16 Use shared realm player cache 2026-09-01 11:46:46 +02:00
Dusk-92 54e5f2b487 Load player cache before chat history restore 2026-08-25 22:48:42 +02:00
Dusk-92 d3a4f70e91 Sleep legacy unit scanner while target is occupied 2026-08-25 22:30:26 +02:00
Dusk-92 b6ee8b3d4e Enrich player cache from nameplate unit events 2026-08-25 21:06:59 +02:00
Dusk-92 5ebfb1e42d Resolve chat sender class before social coloring 2026-08-24 16:52:48 +02:00
Dusk-92 98dbdb4a4f Phase 2: harden passive player identity cache 2026-08-24 08:22:09 +02:00
Dusk-92 5f8e1cc01a Phase 2: enrich passive player cache from chat GUIDs 2026-08-24 08:15:31 +02:00
Dusk-92 f160640e5a Use 90-day TTL for unknown passive chat entries 2026-08-23 22:50:44 +02:00
Dusk-92 934671afe3 Prune stale passive chat cache after one year 2026-08-23 22:48:59 +02:00
Dusk-92 5a9a13fd7c Add passive chat speaker cache 2026-08-23 22:45:51 +02:00
Dusk-92 d2ae117132 Add files via upload 2026-07-28 14:26:42 +02:00