aboutsummaryrefslogtreecommitdiff
path: root/src/boot/after_store.js
diff options
context:
space:
mode:
authorShpuld Shpuldson <shp@cock.li>2020-07-14 11:44:06 +0300
committerShpuld Shpuldson <shp@cock.li>2020-07-14 11:44:06 +0300
commitcac1418affbc0ae91bce2a4d4c14046e73484116 (patch)
treeb8a9ef91853d7f4d3f35e632e0b3e71b5dd79c7d /src/boot/after_store.js
parent78ec84477e978a654ecfd482157dbf04a69f32e2 (diff)
parent3e09a708f600b47dde831eeddb412828b38a0cf4 (diff)
fix merge conflicts
Diffstat (limited to 'src/boot/after_store.js')
-rw-r--r--src/boot/after_store.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/boot/after_store.js b/src/boot/after_store.js
index 302b278c..00ca74a2 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,
@@ -230,6 +238,7 @@ const getNodeInfo = async ({ store }) => {
store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') })
store.dispatch('setInstanceOption', { name: 'safeDM', value: features.includes('safe_dm_mentions') })
store.dispatch('setInstanceOption', { name: 'chatAvailable', value: features.includes('chat') })
+ store.dispatch('setInstanceOption', { name: 'pleromaChatMessagesAvailable', value: features.includes('pleroma_chat_messages') })
store.dispatch('setInstanceOption', { name: 'gopherAvailable', value: features.includes('gopher') })
store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: features.includes('polls') })
store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits })