From 07a8df4b619e73438795acb48be7475aab019060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sun, 9 Jul 2023 18:39:00 +0200 Subject: [PATCH] Support Calckey, maybe 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 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/soapbox/utils/features.ts b/app/soapbox/utils/features.ts index 126248e5d..83ba42089 100644 --- a/app/soapbox/utils/features.ts +++ b/app/soapbox/utils/features.ts @@ -16,6 +16,12 @@ const overrides = custom('features'); /** Truthy array convenience function */ const any = (arr: Array): boolean => arr.some(Boolean); +/** + * Calckey, a fork of Misskey. + * @see {@link https://calckey.org/} + */ +export const CALCKEY = 'Calckey'; + /** * Ditto, a Nostr server with Mastodon API. * @see {@link https://gitlab.com/soapbox-pub/ditto} @@ -139,6 +145,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see GET /api/v1/accounts/lookup */ accountLookup: any([ + v.software === CALCKEY, v.software === MASTODON && gte(v.compatVersion, '3.4.0'), v.software === PLEROMA && gte(v.version, '2.4.50'), v.software === TAKAHE && gte(v.version, '0.6.1'), @@ -224,6 +231,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see GET /api/v1/bookmarks */ bookmarks: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON && gte(v.compatVersion, '3.1.0'), v.software === PLEROMA && gte(v.version, '0.9.9'), @@ -324,6 +332,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see {@link https://docs.joinmastodon.org/methods/conversations/} */ conversations: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON && gte(v.compatVersion, '2.6.0'), v.software === PLEROMA && gte(v.version, '0.9.9'), @@ -362,6 +371,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see PATCH /api/v1/accounts/update_credentials */ editProfile: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON, v.software === MITRA, @@ -447,6 +457,7 @@ const getInstanceFeatures = (instance: Instance) => { /** Whether the accounts who favourited or emoji-reacted to a status can be viewed through the API. */ exposableReactions: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON, v.software === TAKAHE && gte(v.version, '0.6.1'), @@ -625,6 +636,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see GET /api/v1/timelines/list/:list_id */ lists: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON && gte(v.compatVersion, '2.1.0'), v.software === PLEROMA && gte(v.version, '0.9.9'), @@ -737,6 +749,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see POST /api/v1/statuses */ polls: any([ + v.software === CALCKEY, v.software === MASTODON && gte(v.version, '2.8.0'), v.software === PLEROMA, v.software === TRUTHSOCIAL, @@ -773,6 +786,7 @@ const getInstanceFeatures = (instance: Instance) => { * @see GET /api/v1/timelines/public */ publicTimeline: any([ + v.software === CALCKEY, v.software === FRIENDICA, v.software === MASTODON, v.software === PLEROMA,