aboutsummaryrefslogtreecommitdiff
path: root/webAO/dom/reloadTheme.ts
diff options
context:
space:
mode:
authorOsmium Sorcerer <os@sof.beauty>2026-04-07 02:55:26 +0000
committerOsmium Sorcerer <os@sof.beauty>2026-04-18 16:52:23 +0000
commit4bd750ca1f3e446f68e0f88fabf0682fd4d61848 (patch)
tree055290f5f171d71bb9b2d0ec43107b30d59d7c1f /webAO/dom/reloadTheme.ts
parent085204dbdf17f379c9a32ea11660accb51b4311d (diff)
Replace cookies with localStorage
Cookies's use case is to store persistent data and send it to the server in subsequent requests, such as to remember logged-in sessions. WebAO is using them to store site settings like ad-hoc hash tables that require parsing and serialization. As a nasty side-effect of how cookies work, clients send all their settings every time they connect to the server. Server has absolutely no use for them, but each client sends them anyway, which is an uncalled-for privacy leak. Remove this mechanism entirely, switch to localStorage which serves exactly the purpose of per-origin store with data that never leaves the browser.
Diffstat (limited to 'webAO/dom/reloadTheme.ts')
-rw-r--r--webAO/dom/reloadTheme.ts3
1 files changed, 1 insertions, 2 deletions
diff --git a/webAO/dom/reloadTheme.ts b/webAO/dom/reloadTheme.ts
index c65ac6d..eccb934 100644
--- a/webAO/dom/reloadTheme.ts
+++ b/webAO/dom/reloadTheme.ts
@@ -1,5 +1,4 @@
import { client } from "../client";
-import setCookie from "../utils/setCookie";
/**
* Triggered by the theme selector.
@@ -9,7 +8,7 @@ export const reloadTheme = () => {
(<HTMLSelectElement>document.getElementById("client_themeselect")).value,
);
- setCookie("theme", client.viewport.getTheme());
+ localStorage.setItem("theme", client.viewport.getTheme());
(<HTMLAnchorElement>document.getElementById("client_theme")).href =
`styles/${client.viewport.getTheme()}.css`;
};