diff --git a/goosebit/ui/static/js/devices.js b/goosebit/ui/static/js/devices.js index cd92504b..01f288a5 100644 --- a/goosebit/ui/static/js/devices.js +++ b/goosebit/ui/static/js/devices.js @@ -51,6 +51,12 @@ document.addEventListener("DOMContentLoaded", async () => { stateSave: true, select: true, rowId: "id", + // Don't restore selection: Select matches row IDs as CSS selectors, and + // device IDs may contain invalid chars (e.g. ":") that abort table init. + stateLoadParams: (settings, data) => { + // biome-ignore lint/performance/noDelete: selection must not be restored + delete data.select; + }, ajax: { url: "/ui/bff/devices", method: "POST", @@ -195,6 +201,11 @@ document.addEventListener("DOMContentLoaded", async () => { }) .on("deselect", () => { updateBtnState(); + }) + // Don't persist selection (see stateLoadParams above). + .on("stateSaveParams", (e, settings, data) => { + // biome-ignore lint/performance/noDelete: selection must not be persisted + delete data.select; }); setInterval(() => { diff --git a/goosebit/ui/static/js/settings.js b/goosebit/ui/static/js/settings.js index ad60b538..0498a33c 100644 --- a/goosebit/ui/static/js/settings.js +++ b/goosebit/ui/static/js/settings.js @@ -39,6 +39,12 @@ document.addEventListener("DOMContentLoaded", async () => { stateSave: true, select: true, rowId: "username", + // Don't restore selection: Select matches row IDs as CSS selectors, and + // usernames may contain invalid chars (".", "@", ...) that abort table init. + stateLoadParams: (settings, data) => { + // biome-ignore lint/performance/noDelete: selection must not be restored + delete data.select; + }, ajax: { url: "/ui/bff/settings/users", data: (data) => { @@ -125,6 +131,11 @@ document.addEventListener("DOMContentLoaded", async () => { }) .on("deselect", () => { updateBtnState(); + }) + // Don't persist selection (see stateLoadParams above). + .on("stateSaveParams", (e, settings, data) => { + // biome-ignore lint/performance/noDelete: selection must not be persisted + delete data.select; }); setInterval(() => {