From f4858d04068019cb3ab8811bf62c07aea7b0ed6a Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 12 Feb 2022 20:08:38 -0600 Subject: [PATCH] Fedibird: support quote posting --- app/soapbox/utils/features.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/soapbox/utils/features.js b/app/soapbox/utils/features.js index 2df8e1c7a..bba076d3b 100644 --- a/app/soapbox/utils/features.js +++ b/app/soapbox/utils/features.js @@ -11,11 +11,11 @@ export const MASTODON = 'Mastodon'; export const PLEROMA = 'Pleroma'; export const MITRA = 'Mitra'; -export const getFeatures = createSelector([ - instance => parseVersion(instance.get('version')), - instance => instance.getIn(['pleroma', 'metadata', 'features'], ImmutableList()), - instance => instance.getIn(['pleroma', 'metadata', 'federation'], ImmutableMap()), -], (v, features, federation) => { +export const getFeatures = createSelector([instance => instance], instance => { + const v = parseVersion(instance.get('version')); + const features = instance.getIn(['pleroma', 'metadata', 'features'], ImmutableList()); + const federation = instance.getIn(['pleroma', 'metadata', 'federation'], ImmutableMap()); + return { bookmarks: any([ v.software === MASTODON && gte(v.compatVersion, '3.1.0'), @@ -82,7 +82,10 @@ export const getFeatures = createSelector([ remoteInteractionsAPI: v.software === PLEROMA && gte(v.version, '2.4.50'), explicitAddressing: v.software === PLEROMA && gte(v.version, '1.0.0'), accountEndorsements: v.software === PLEROMA && gte(v.version, '2.4.50'), - quotePosts: v.software === PLEROMA && gte(v.version, '2.4.50'), + quotePosts: any([ + v.software === PLEROMA && gte(v.version, '2.4.50'), + instance.get('feature_quote') === true, + ]), birthdays: v.software === PLEROMA && gte(v.version, '2.4.50'), ethereumLogin: v.software === MITRA, };