diff --git a/app/soapbox/actions/export_data.ts b/app/soapbox/actions/export_data.ts index de81215dd..b558c9e6e 100644 --- a/app/soapbox/actions/export_data.ts +++ b/app/soapbox/actions/export_data.ts @@ -1,8 +1,8 @@ import { defineMessages } from 'react-intl'; -import api, { getLinks } from '../api'; - -import snackbar from './snackbar'; +import snackbar from 'soapbox/actions/snackbar'; +import api, { getLinks } from 'soapbox/api'; +import { normalizeAccount } from 'soapbox/normalizers'; import type { SnackbarAction } from './snackbar'; import type { AxiosResponse } from 'axios'; @@ -60,7 +60,7 @@ const listAccounts = (getState: () => RootState) => async(apiResponse: AxiosResp Array.prototype.push.apply(followings, apiResponse.data); } - accounts = followings.map((account: { fqn: string }) => account.fqn); + accounts = followings.map((account: any) => normalizeAccount(account).fqn); return Array.from(new Set(accounts)); }; diff --git a/app/soapbox/features/import_data/index.tsx b/app/soapbox/features/import_data/index.tsx index b03b20f29..5d26fa0ec 100644 --- a/app/soapbox/features/import_data/index.tsx +++ b/app/soapbox/features/import_data/index.tsx @@ -6,8 +6,6 @@ import { importBlocks, importMutes, } from 'soapbox/actions/import_data'; -import { useAppSelector } from 'soapbox/hooks'; -import { getFeatures } from 'soapbox/utils/features'; import Column from '../ui/components/column'; @@ -38,13 +36,12 @@ const muteMessages = defineMessages({ const ImportData = () => { const intl = useIntl(); - const features = getFeatures(useAppSelector((state) => state.instance)); return ( - {features.importMutes && } + ); }; diff --git a/app/soapbox/features/ui/index.tsx b/app/soapbox/features/ui/index.tsx index 0ebb8f87a..dfdcfeb9f 100644 --- a/app/soapbox/features/ui/index.tsx +++ b/app/soapbox/features/ui/index.tsx @@ -84,7 +84,7 @@ import { EmailConfirmation, DeleteAccount, SoapboxConfig, - ExportData, + // ExportData, ImportData, // Backups, MfaForm, @@ -286,8 +286,9 @@ const SwitchingColumnsArea: React.FC = ({ children }) => { {features.scheduledStatuses && } - - + {/* FIXME: this could DDoS our API? :\ */} + {/* */} + {features.importData && } {features.accountAliasesAPI && } {features.accountMoving && } diff --git a/app/soapbox/utils/features.ts b/app/soapbox/utils/features.ts index e020456d1..e98b7262c 100644 --- a/app/soapbox/utils/features.ts +++ b/app/soapbox/utils/features.ts @@ -307,10 +307,12 @@ const getInstanceFeatures = (instance: Instance) => { importAPI: v.software === PLEROMA, /** - * Pleroma import mutes API. + * Pleroma import endpoints. + * @see POST /api/pleroma/follow_import + * @see POST /api/pleroma/blocks_import * @see POST /api/pleroma/mutes_import */ - importMutes: v.software === PLEROMA && gte(v.version, '2.2.0'), + importData: v.software === PLEROMA && gte(v.version, '2.2.0'), /** * Can create, view, and manage lists.