From 52172c923fe499f281f544cdfe0588c962630e76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sat, 25 Mar 2023 09:43:27 +0100 Subject: [PATCH] Actually fix version parsing for Friendica MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- app/soapbox/utils/features.ts | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/app/soapbox/utils/features.ts b/app/soapbox/utils/features.ts index d488bcf9bd..11e9182e35 100644 --- a/app/soapbox/utils/features.ts +++ b/app/soapbox/utils/features.ts @@ -91,8 +91,6 @@ const getInstanceFeatures = (instance: Instance) => { const features = instance.pleroma.getIn(['metadata', 'features'], ImmutableList()) as ImmutableList; const federation = instance.pleroma.getIn(['metadata', 'federation'], ImmutableMap()) as ImmutableMap; - console.log(v); - return { /** * Can view and manage ActivityPub aliases through the API. @@ -152,7 +150,6 @@ const getInstanceFeatures = (instance: Instance) => { * @see POST /api/v1/accounts/:id/follow */ accountNotifies: any([ - v.software === FRIENDICA, v.software === MASTODON && gte(v.compatVersion, '3.3.0'), v.software === PLEROMA && gte(v.version, '2.4.50'), v.software === TRUTHSOCIAL, @@ -791,7 +788,6 @@ const getInstanceFeatures = (instance: Instance) => { * @see POST /api/v2/search */ searchFromAccount: any([ - v.software === FRIENDICA, v.software === MASTODON && gte(v.version, '2.8.0'), v.software === PLEROMA && gte(v.version, '1.0.0'), ]), @@ -897,10 +893,7 @@ const getInstanceFeatures = (instance: Instance) => { * Whether the backend allows adding users you don't follow to lists. * @see POST /api/v1/lists/:id/accounts */ - unrestrictedLists: any([ - v.software === FRIENDICA, - v.software === PLEROMA, - ]), + unrestrictedLists: v.software === PLEROMA, }; }; @@ -933,7 +926,9 @@ export const parseVersion = (version: string): Backend => { const match = regex.exec(version); const semverString = match && (match[3] || match[1]); - const semver = match ? semverParse(semverString) || semverCoerce(semverString) : null; + const semver = match ? semverParse(semverString) || semverCoerce(semverString, { + loose: true, + }) : null; const compat = match ? semverParse(match[1]) || semverCoerce(match[1]) : null; if (match && semver && compat) {