commit: d2f0e4e7d515afe4b15d4e6a0e52d9fee2349c4a
parent: 2b3c4ccfaeddb6a05c7a97e669daa17c2058727c
Author: Shpuld Shpludson <shp@cock.li>
Date: Thu, 9 Jul 2020 09:29:20 +0000
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
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git 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,