Use uuid instead of name on player page for data request

Affects issues:
- Fixed #2226
This commit is contained in:
Risto Lahtela 2022-01-30 09:25:15 +02:00
parent d831bdc9e5
commit 957b7f400f
5 changed files with 16 additions and 14 deletions

View File

@ -121,7 +121,7 @@ public class PlayerPageExporter extends FileExporter {
String jsonResourceName = toFileName(toJSONResourceName(resource)) + ".json"; String jsonResourceName = toFileName(toJSONResourceName(resource)) + ".json";
export(toDirectory.resolve(jsonResourceName), found.get().getBytes()); export(toDirectory.resolve(jsonResourceName), found.get().getBytes());
exportPaths.put("../v1/player?player=${encodeURIComponent(playerName)}", "./" + jsonResourceName); exportPaths.put("../v1/player?player=${encodeURIComponent(playerUUID)}", "./" + jsonResourceName);
} }
private String toJSONResourceName(String resource) { private String toJSONResourceName(String resource) {

View File

@ -100,6 +100,7 @@ public class PlayerPage implements Page {
String playerName = player.getValue(PlayerKeys.NAME).orElse(playerUUID.toString()); String playerName = player.getValue(PlayerKeys.NAME).orElse(playerUUID.toString());
placeholders.put("playerName", playerName); placeholders.put("playerName", playerName);
placeholders.put("playerUUID", playerUUID);
placeholders.put("timeZone", config.getTimeZoneOffsetHours()); placeholders.put("timeZone", config.getTimeZoneOffsetHours());
placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE)); placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE));

View File

@ -60,28 +60,29 @@ public class ActiveCookieExpiryCleanupTask extends TaskSystem.Task {
@Override @Override
public void run() { public void run() {
long time = System.currentTimeMillis(); long time = System.currentTimeMillis();
Set<String> removed = new HashSet<>();
Set<String> cookiesToRemove = new HashSet<>();
for (Map.Entry<String, Long> entry : expiryDates.entrySet()) { for (Map.Entry<String, Long> entry : expiryDates.entrySet()) {
Long expiryTime = entry.getValue(); Long expiryTime = entry.getValue();
if (config.isTrue(PluginSettings.DEV_MODE)) {
logger.info("Cookie " + entry.getKey() + " will expire " + expiryTime);
}
if (expiryTime <= time) { if (expiryTime <= time) {
String cookie = entry.getKey(); String cookie = entry.getKey();
activeCookieStore.get().removeCookie(cookie); cookiesToRemove.add(cookie);
removed.add(cookie);
} }
} }
for (String removedCookie : removed) { for (String cookie : cookiesToRemove) {
expiryDates.remove(removedCookie); activeCookieStore.get().removeCookie(cookie);
expiryDates.remove(cookie);
if (config.isTrue(PluginSettings.DEV_MODE)) { if (config.isTrue(PluginSettings.DEV_MODE)) {
logger.info("Cookie " + removedCookie + " has expired: " + time); logger.info("Cookie " + cookie + " has expired: " + time);
} }
} }
} }
public void addExpiry(String cookie, Long time) { public void addExpiry(String cookie, Long time) {
expiryDates.put(cookie, time); expiryDates.put(cookie, time);
if (config.isTrue(PluginSettings.DEV_MODE)) {
logger.info("Cookie " + cookie + " will expire " + time);
}
} }
} }

View File

@ -110,13 +110,13 @@ function newConfiguredXHR(callback) {
callback(null, "Request did not reach the server. (Server offline / Adblocker?)") callback(null, "Request did not reach the server. (Server offline / Adblocker?)")
} }
} catch (e) { } catch (e) {
callback(null, e.message + " (See " + address + ")") callback(null, e.message)
} }
} }
}; };
xhr.timeout = 45000; xhr.timeout = 45000;
xhr.ontimeout = function () { xhr.ontimeout = function () {
callback(null, "Timed out after 45 seconds. (" + address + ")") callback(null, "Timed out after 45 seconds.")
}; };
return xhr; return xhr;

View File

@ -717,9 +717,9 @@
Highcharts.setOptions({ Highcharts.setOptions({
lang: {noData: "No Data to Display"}, time: {timezoneOffset: ${timeZone} * 60} lang: {noData: "No Data to Display"}, time: {timezoneOffset: ${timeZone} * 60}
}); });
const playerName = '${playerName}'; const playerUUID = '${playerUUID}';
setLoadingText('Loading player values..'); setLoadingText('Loading player values..');
jsonRequest(`../v1/player?player=${encodeURIComponent(playerName)}`, function (json, error) { jsonRequest(`../v1/player?player=${encodeURIComponent(playerUUID)}`, function (json, error) {
loadPlayerOverviewValues(json, error); loadPlayerOverviewValues(json, error);
loadSessionAccordion(json, error); loadSessionAccordion(json, error);
loadserverAccordion(json, error); loadserverAccordion(json, error);