aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-07-09 09:29:20 +0000
committerShpuld Shpludson <shp@cock.li>2020-07-09 09:29:20 +0000
commitd2f0e4e7d515afe4b15d4e6a0e52d9fee2349c4a (patch)
treec10e03aa8c1eb4a530cad68eb2bf93cc78f26596
parent2b3c4ccfaeddb6a05c7a97e669daa17c2058727c (diff)
parent905de12980ceda8982fb24b4f715677065974528 (diff)
Merge branch '888-fix-utf8-base64-decoding' into 'develop'
After Store: Correctly decode UTF-8 encoded base64 strings. Closes #888 See merge request pleroma/pleroma-fe!1176
-rw-r--r--src/boot/after_store.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/boot/after_store.js b/src/boot/after_store.js
index 302b278c..8b722c5c 100644
--- a/src/boot/after_store.js
+++ b/src/boot/after_store.js
@@ -20,12 +20,20 @@ const parsedInitialResults = () => {
return staticInitialResults
}
+const decodeUTF8Base64 = (data) => {
+ const rawData = atob(data)
+ const array = Uint8Array.from([...rawData].map((char) => char.charCodeAt(0)))
+ const text = new TextDecoder().decode(array)
+ return text
+}
+
const preloadFetch = async (request) => {
const data = parsedInitialResults()
if (!data || !data[request]) {
return window.fetch(request)
}
- const requestData = JSON.parse(atob(data[request]))
+ const decoded = decodeUTF8Base64(data[request])
+ const requestData = JSON.parse(decoded)
return {
ok: true,
json: () => requestData,