From d95fc028107fa03a7afae28f35695c72f53ccb50 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 9 Apr 2019 22:25:44 +0300 Subject: [PATCH 1/4] add support for pleroma-specific fields --- .../entity_normalizer.service.js | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 8aa4b352be..a0eee9bc53 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -189,28 +189,27 @@ export const parseStatus = (data) => { output.statusnet_html = addEmojis(data.content, data.emojis) - // Not exactly the same but works? - output.text = data.content + if (data.pleroma) { + const { pleroma } = data + output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content + output.summary = pleroma.spoiler_text ? data.pleroma.spoiler_text['text/plain'] : data.spoiler_text + output.statusnet_conversation_id = data.pleroma.conversation_id + output.is_local = pleroma.is_local + } else { + output.text = data.content + output.summary = data.spoiler_text + } output.in_reply_to_status_id = data.in_reply_to_id output.in_reply_to_user_id = data.in_reply_to_account_id output.replies_count = data.replies_count - // Missing!! fix in UI? - // output.in_reply_to_screen_name = ??? - - // Not exactly the same but works - output.statusnet_conversation_id = data.id - if (output.type === 'retweet') { output.retweeted_status = parseStatus(data.reblog) } - output.summary = data.spoiler_text output.summary_html = addEmojis(data.spoiler_text, data.emojis) output.external_url = data.url - - // output.is_local = ??? missing } else { output.favorited = data.favorited output.fave_num = data.fave_num From dfd89b0bbc990acc6370eafbb858f524200896e5 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 9 Apr 2019 22:28:36 +0300 Subject: [PATCH 2/4] revert, it's still missing --- src/services/entity_normalizer/entity_normalizer.service.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index a0eee9bc53..a2d222720b 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -204,6 +204,8 @@ export const parseStatus = (data) => { output.in_reply_to_user_id = data.in_reply_to_account_id output.replies_count = data.replies_count + // Missing!! fix in UI? + // output.in_reply_to_screen_name = ??? if (output.type === 'retweet') { output.retweeted_status = parseStatus(data.reblog) } From a25aabfa10b64bb2398c6f927d295aef1a7742b6 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 9 Apr 2019 22:54:14 +0300 Subject: [PATCH 3/4] support new custom emoji format --- src/boot/after_store.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 22d3c00778..603de3483a 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -171,9 +171,10 @@ const getCustomEmoji = async ({ store }) => { try { const res = await window.fetch('/api/pleroma/emoji.json') if (res.ok) { - const values = await res.json() + const result = await res.json() + const values = Array.isArray(result) ? Object.assign({}, ...result) : result const emoji = Object.keys(values).map((key) => { - return { shortcode: key, image_url: values[key] } + return { shortcode: key, image_url: values[key].image_url || values[key] } }) store.dispatch('setInstanceOption', { name: 'customEmoji', value: emoji }) store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: true }) From 18cb97a2bd43bda5a53e081f475486964d15d714 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 10 Apr 2019 15:02:14 +0300 Subject: [PATCH 4/4] Fix wrong local --- src/services/entity_normalizer/entity_normalizer.service.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index a2d222720b..fbbe84cf3c 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -194,7 +194,7 @@ export const parseStatus = (data) => { output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content output.summary = pleroma.spoiler_text ? data.pleroma.spoiler_text['text/plain'] : data.spoiler_text output.statusnet_conversation_id = data.pleroma.conversation_id - output.is_local = pleroma.is_local + output.is_local = pleroma.local } else { output.text = data.content output.summary = data.spoiler_text