The inventoryVersion counter in useLiveData was a single global value that bumped on every inventory_delta for any character. With 60+ active chars all generating deltas, the global counter advanced multiple times per second. InventoryWindow's debounce effect watched this global counter, so every bump reset its 2-second fetch timer. Since bumps arrived faster than 2s, the fetch never fired — the window appeared frozen until the user closed and reopened it (which triggered the initial-fetch effect). Fix: make inventoryVersions a Map<string, number> keyed by character name. Each inventory_delta now only bumps its own character's counter, so an open window's debounce correctly fires 2s after its character's last delta, ignoring unrelated traffic. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
18 lines
756 B
HTML
18 lines
756 B
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Mosswart Overlord v2</title>
|
|
<link rel="icon" type="image/png" href="/icons/7735.png" />
|
|
<link rel="preload" as="image" href="/dereth.png" />
|
|
<link rel="preload" as="image" href="/icons/0600127E.png" />
|
|
<link rel="preload" as="fetch" href="/dungeon_tiles.json" crossorigin="anonymous" />
|
|
<script type="module" crossorigin src="/assets/index-BipVD-xb.js"></script>
|
|
<link rel="modulepreload" crossorigin href="/assets/react-yfL0ty4i.js">
|
|
<link rel="stylesheet" crossorigin href="/assets/index-BsAcOCNp.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
</body>
|
|
</html>
|