From 8f3d9505176b337d5f99c5cdf6a780c6e049f39e Mon Sep 17 00:00:00 2001 From: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com> Date: Mon, 26 Jun 2023 15:37:12 +0200 Subject: [PATCH] a (#16538) Co-authored-by: DreamySkrell <> --- .../DreamySkrell-tgchat-namespacing-again.yml | 41 +++++++++++++++++++ tgui/packages/common/storage.js | 10 +++-- 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/DreamySkrell-tgchat-namespacing-again.yml diff --git a/html/changelogs/DreamySkrell-tgchat-namespacing-again.yml b/html/changelogs/DreamySkrell-tgchat-namespacing-again.yml new file mode 100644 index 00000000000..3f884d76205 --- /dev/null +++ b/html/changelogs/DreamySkrell-tgchat-namespacing-again.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: DreamySkrell + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Chat storage namespacing." diff --git a/tgui/packages/common/storage.js b/tgui/packages/common/storage.js index acf842f6408..ddf49e3ae6c 100644 --- a/tgui/packages/common/storage.js +++ b/tgui/packages/common/storage.js @@ -150,9 +150,13 @@ class IndexedDbBackend { } } +// Namespace for keys in storage, so we do not share storage with other servers. +var namespace = "AURORASTATION_" + /** * Web Storage Proxy object, which selects the best backend available * depending on the environment. + * Also applies namespacing to keys. */ class StorageProxy { constructor() { @@ -173,17 +177,17 @@ class StorageProxy { async get(key) { const backend = await this.backendPromise; - return backend.get(key); + return backend.get(namespace + key); } async set(key, value) { const backend = await this.backendPromise; - return backend.set(key, value); + return backend.set(namespace + key, value); } async remove(key) { const backend = await this.backendPromise; - return backend.remove(key); + return backend.remove(namespace + key); } async clear() {