From f4c7ce582b045e07d047ec46e822df513cd6cd48 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 11 Jul 2025 21:15:04 -0700 Subject: [PATCH 1/4] chore(webui): handle malformed rivens so they can be deleted at least (#2469) Closes #2468 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2469 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- static/webui/script.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/static/webui/script.js b/static/webui/script.js index bb557ff3..423d322f 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -1017,13 +1017,19 @@ function updateInventory() { if (item.ItemType.substr(0, 32) == "/Lotus/Upgrades/Mods/Randomized/") { const rivenType = item.ItemType.substr(32); const fingerprint = JSON.parse(item.UpgradeFingerprint); - if (fingerprint.buffs) { + if ("buffs" in fingerprint) { // Riven has been revealed? const tr = document.createElement("tr"); { const td = document.createElement("td"); td.textContent = itemMap[fingerprint.compat]?.name ?? fingerprint.compat; - td.textContent += " " + RivenParser.parseRiven(rivenType, fingerprint, 1).name; + td.textContent += " "; + try { + td.textContent += RivenParser.parseRiven(rivenType, fingerprint, 1).name; + } catch (e) { + console.warn("malformed riven", { rivenType, fingerprint }); + td.textContent += " [Malformed Riven]"; + } td.innerHTML += " Date: Fri, 11 Jul 2025 21:15:48 -0700 Subject: [PATCH 3/4] fix: omit plains of eidolon from non-grineer sorties (#2472) Closes #2470 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2472 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/services/worldStateService.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/worldStateService.ts b/src/services/worldStateService.ts index 60db22b1..7f5268c9 100644 --- a/src/services/worldStateService.ts +++ b/src/services/worldStateService.ts @@ -261,7 +261,8 @@ export const getSortie = (day: number): ISortie => { if ( sortieFactionToSystemIndexes[sortieBossToFaction[boss]].includes(value.systemIndex) && sortieFactionToFactionIndexes[sortieBossToFaction[boss]].includes(value.factionIndex!) && - key in sortieTilesets + key in sortieTilesets && + (key != "SolNode228" || sortieBossToFaction[boss] == "FC_GRINEER") // PoE does not work for non-infested enemies ) { nodes.push(key); } From fbbd9076cfb91163abc28aac8ac7e3fc1c88599f Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 11 Jul 2025 21:16:07 -0700 Subject: [PATCH 4/4] fix: delete galleon of ghouls inbox messages when disabled via webui (#2473) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2473 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/controllers/custom/configController.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/controllers/custom/configController.ts b/src/controllers/custom/configController.ts index 0cc28698..9f3c17e3 100644 --- a/src/controllers/custom/configController.ts +++ b/src/controllers/custom/configController.ts @@ -3,6 +3,7 @@ import { config } from "@/src/services/configService"; import { getAccountForRequest, isAdministrator } from "@/src/services/loginService"; import { saveConfig } from "@/src/services/configWriterService"; import { sendWsBroadcastExcept } from "@/src/services/wsService"; +import { syncConfigWithDatabase } from "@/src/services/configWatcherService"; export const getConfigController: RequestHandler = async (req, res) => { const account = await getAccountForRequest(req); @@ -26,6 +27,7 @@ export const setConfigController: RequestHandler = async (req, res) => { obj[idx] = value; } sendWsBroadcastExcept(parseInt(String(req.query.wsid)), { config_reloaded: true }); + syncConfigWithDatabase(); await saveConfig(); res.end(); } else {