diff --git a/packages/pl-api/lib/features.ts b/packages/pl-api/lib/features.ts index 76cca9fc5..a3b4d724b 100644 --- a/packages/pl-api/lib/features.ts +++ b/packages/pl-api/lib/features.ts @@ -87,6 +87,14 @@ const PIXELFED = 'Pixelfed'; */ const PLEROMA = 'Pleroma'; +/** + * Sharkey, a Sharkish microblogging platform. + * + * @category Software + * @see {@link https://activitypub.software/TransFem-org/Sharkey} + */ +const SHARKEY = 'Sharkey'; + /** * snac, a simple, minimalistic ActivityPub instance written in portable C * @@ -215,6 +223,7 @@ const getFeatures = (instance: Instance) => { v.software === GOTOSOCIAL, v.software === MASTODON, v.software === MITRA, + v.software === SHARKEY, instance.api_versions['profile_directory.pleroma.pl-api'] >= 1, ]), @@ -259,6 +268,7 @@ const getFeatures = (instance: Instance) => { v.software === MASTODON, v.software === MITRA, v.software === PLEROMA && gte(v.version, '2.5.0'), + v.software === SHARKEY, v.software === SNAC, v.software === TAKAHE && gte(v.version, '0.6.1'), v.software === TOKI, @@ -426,6 +436,7 @@ const getFeatures = (instance: Instance) => { v.software === MITRA && gte(v.version, '3.3.0'), v.software === PIXELFED, v.software === PLEROMA, + v.software === SHARKEY, v.software === TAKAHE && gte(v.version, '0.9.0'), v.software === TOKI, ]), @@ -487,6 +498,7 @@ const getFeatures = (instance: Instance) => { v.software === MASTODON, v.software === PIXELFED, v.software === PLEROMA, + v.software === SHARKEY, v.software === TAKAHE, ]), @@ -741,6 +753,7 @@ const getFeatures = (instance: Instance) => { v.software === ICESHRIMP_NET, v.software === MASTODON, v.software === MITRA && gte(v.version, '4.5.0'), + v.software === SHARKEY, v.software === TAKAHE && gte(v.version, '0.6.1'), v.software === TOKI, instance.api_versions['exposable_reactions.pleroma.pl-api'] >= 1, @@ -778,6 +791,7 @@ const getFeatures = (instance: Instance) => { v.software === AKKOMA, v.software === GOTOSOCIAL, v.software === PLEROMA, + v.software === SHARKEY, ]), /** @@ -1008,6 +1022,7 @@ const getFeatures = (instance: Instance) => { v.software === MASTODON, v.software === MITRA, v.software === PLEROMA, + v.software === SHARKEY, v.software === SNAC, ]), @@ -1169,6 +1184,7 @@ const getFeatures = (instance: Instance) => { v.software === MITRA, v.software === PIXELFED, v.software === PLEROMA, + v.software === SHARKEY, v.software === TAKAHE, ]), @@ -1312,12 +1328,13 @@ const getFeatures = (instance: Instance) => { */ polls: any([ v.software === FIREFISH, + v.software === GOTOSOCIAL, v.software === ICESHRIMP, v.software === ICESHRIMP_NET, v.software === MASTODON, v.software === MITRA && gte(v.version, '3.15.0'), + v.software === SHARKEY, v.software === TAKAHE && gte(v.version, '0.8.0'), - v.software === GOTOSOCIAL, instance.api_versions['polls.pleroma.pl-api'] >= 1, ]), @@ -1327,10 +1344,11 @@ const getFeatures = (instance: Instance) => { */ postLanguages: any([ v.software === AKKOMA, + v.software === GOTOSOCIAL, v.software === MASTODON, v.software === MITRA && gte(v.version, '3.23.0'), v.software === PLEROMA && gte(v.version, '2.9.0'), - v.software === GOTOSOCIAL, + v.software === SHARKEY, ]), /** @@ -1369,6 +1387,7 @@ const getFeatures = (instance: Instance) => { v.software === MASTODON, v.software === MITRA, v.software === PLEROMA, + v.software === SHARKEY, v.software === SNAC, v.software === TAKAHE && gte(v.version, '0.7.0'), ]), @@ -1411,6 +1430,7 @@ const getFeatures = (instance: Instance) => { quotePosts: any([ v.software === ICESHRIMP_NET, v.software === FRIENDICA && gte(v.version, '2023.3.0'), + v.software === SHARKEY, instance.api_versions['quote_posting.pleroma.pl-api'] >= 1, instance.feature_quote === true, ]), @@ -1496,9 +1516,10 @@ const getFeatures = (instance: Instance) => { v.software === AKKOMA, v.software === FIREFISH, v.software === FRIENDICA, + v.software === GOTOSOCIAL && gte(v.version, '0.18.0'), v.software === MASTODON, v.software === PLEROMA, - v.software === GOTOSOCIAL && gte(v.version, '0.18.0'), + v.software === SHARKEY, ]), /** @@ -1645,6 +1666,7 @@ const getFeatures = (instance: Instance) => { v.software === FRIENDICA, v.software === ICESHRIMP, v.software === MASTODON, + v.software === SHARKEY, instance.api_versions['v2_suggestions.pleroma.pl-api'] >= 1, ]), @@ -1675,6 +1697,7 @@ const getFeatures = (instance: Instance) => { v.software === ICESHRIMP, v.software === MASTODON, v.software === PIXELFED, + v.software === SHARKEY, ]), /** diff --git a/packages/pl-api/package.json b/packages/pl-api/package.json index 3756b2de7..6ad541ae8 100644 --- a/packages/pl-api/package.json +++ b/packages/pl-api/package.json @@ -1,6 +1,6 @@ { "name": "pl-api", - "version": "1.0.0-rc.80", + "version": "1.0.0-rc.81", "type": "module", "homepage": "https://codeberg.org/mkljczk/pl-fe/src/branch/develop/packages/pl-api", "repository": { diff --git a/packages/pl-fe/package.json b/packages/pl-fe/package.json index 42f11f1d5..d744e6bb3 100644 --- a/packages/pl-fe/package.json +++ b/packages/pl-fe/package.json @@ -105,7 +105,7 @@ "multiselect-react-dropdown": "^2.0.25", "mutative": "^1.1.0", "path-browserify": "^1.0.1", - "pl-api": "^1.0.0-rc.80", + "pl-api": "^1.0.0-rc.81", "postcss": "^8.5.3", "process": "^0.11.10", "punycode": "^2.1.1", diff --git a/packages/pl-fe/src/hooks/use-features.ts b/packages/pl-fe/src/hooks/use-features.ts index 0b6560f76..2b7759143 100644 --- a/packages/pl-fe/src/hooks/use-features.ts +++ b/packages/pl-fe/src/hooks/use-features.ts @@ -1,14 +1,8 @@ import { Features } from 'pl-api'; import { useAppSelector } from './use-app-selector'; -import { useInstance } from './use-instance'; /** Get features for the current instance. */ -const useFeatures = (): Features => { - useInstance(); - const features = useAppSelector(state => state.auth.client.features); - - return features; -}; +const useFeatures = (): Features => useAppSelector(state => state.auth.client.features); export { useFeatures }; diff --git a/packages/pl-fe/yarn.lock b/packages/pl-fe/yarn.lock index 9eecd198f..cd85758df 100644 --- a/packages/pl-fe/yarn.lock +++ b/packages/pl-fe/yarn.lock @@ -6875,10 +6875,10 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" -pl-api@^1.0.0-rc.80: - version "1.0.0-rc.80" - resolved "https://registry.yarnpkg.com/pl-api/-/pl-api-1.0.0-rc.80.tgz#669cc9c8747e03c78314a6a2f8290a32db620623" - integrity sha512-4rJRk+xkoPPRMMdLn7+h7zRA/N07Ho5oEEkE92pSx7HA/CxwFPGOXA1VttJ6p6my27zxPIduMM2RHwCLYbUfVA== +pl-api@^1.0.0-rc.81: + version "1.0.0-rc.81" + resolved "https://registry.yarnpkg.com/pl-api/-/pl-api-1.0.0-rc.81.tgz#51c64c5ccf5749f56d1df63748ae9c664032b390" + integrity sha512-ZRwYel2XhT+4z3X33b5jydiqDP9RjK9hPwngqvaWT7Nm6m+GrtljLa1X5S0GN622/7Ko2oGZYGMVzGt0nB0knQ== dependencies: blurhash "^2.0.5" http-link-header "^1.1.3"