mirror of
https://github.com/RetroShare/RSNewWebUI.git
synced 2026-09-14 11:05:47 +05:00
Every mount of the Network, People, Home, Statistics or Graph pages redid Data.refreshGpgDetails(): getFriendList, then for every location getPeerDetails, isOnline, getCustomStateString and getStatus -- four requests per location, fired together through Promise.all. With two thousand locations that is eight thousand requests filling the browser's six sockets, and on a phone behind a slow link every interactive request -- opening a distant chat, the tunnel status poll, a chat message -- queued for minutes behind them. The Debug page showed it as a scroll of getPeerDetails. Now: one getOnlineList replaces the per-location isOnline; the status string and status value are asked only for peers that are online; the getPeerDetails sweep runs three at a time, the list filling as answers land on a first load; the result is kept for five minutes, later mounts only refreshing the online flags with that one request, and concurrent callers share the sweep in flight. Adding or removing a friend forces a full sweep. |
||
|---|---|---|
| .. | ||
| network_chat_tab.js | ||
| network_data.js | ||
| network_details_tab.js | ||
| network_friends_list.js | ||
| network_graph.js | ||
| network_state.js | ||
| network.js | ||