revert 24bd05d090
Some checks are pending
/ test-build (push) Waiting to run

revert temporarily re-enable post imports (not masto)

Signed-off-by: limepotato <limepot@protonmail.ch>
This commit is contained in:
limepotato 2024-07-01 04:49:47 +02:00 committed by Iceshrimp development
parent 3882d895a0
commit c8689ca82b
No known key found for this signature in database
GPG key ID: 7249C94AE229BEAF
4 changed files with 2 additions and 84 deletions

View file

@ -1490,12 +1490,6 @@ _time:
hour: "Hour(s)" hour: "Hour(s)"
day: "Day(s)" day: "Day(s)"
_filters: _filters:
_experiments:
title: "Experiments"
enablePostImports: "Enable post imports"
postImportsCaption: "Allows users to import their posts from past Iceshrimp, Misskey,
Mastodon, Akkoma, and Pleroma accounts. It may cause slowdowns during load if
your queue is bottlenecked."
_dialog: _dialog:
title: "Search filter syntax" title: "Search filter syntax"
learnMore: "View filter syntax" learnMore: "View filter syntax"

View file

@ -11,41 +11,5 @@ export async function importCkPost(
job: Bull.Job<DbUserImportMastoPostJobData>, job: Bull.Job<DbUserImportMastoPostJobData>,
done: any, done: any,
): Promise<void> { ): Promise<void> {
const user = await Users.findOneBy({ id: job.data.user.id });
if (user == null) {
done();
return;
}
const post = job.data.post;
if (post.replyId != null) {
done();
return;
}
if (post.renoteId != null) {
done();
return;
}
if (post.visibility !== "public") {
done();
return;
}
const { text, cw, localOnly, createdAt } = Post.parse(post);
const note = await create(user, {
createdAt: createdAt,
files: undefined,
poll: undefined,
text: text || undefined,
reply: null,
renote: null,
cw: cw,
localOnly,
visibility: "hidden",
visibleUsers: [],
channel: null,
apMentions: new Array(0),
apHashtags: undefined,
apEmojis: undefined,
});
logger.succ("Imported");
done(); done();
} }

View file

@ -1,9 +1,6 @@
import define from "../../define.js"; import define from "../../define.js";
import { createImportPostsJob } from "@/queue/index.js";
import { ApiError } from "../../error.js"; import { ApiError } from "../../error.js";
import { DriveFiles } from "@/models/index.js";
import { DAY } from "@/const.js"; import { DAY } from "@/const.js";
import { fetchMeta } from "@/misc/fetch-meta.js";
export const meta = { export const meta = {
secure: true, secure: true,
@ -26,7 +23,7 @@ export const meta = {
}, },
importsDisabled: { importsDisabled: {
message: "Post imports are disabled.", message: "Post imports are disabled for security reasons.",
code: "IMPORTS_DISABLED", code: "IMPORTS_DISABLED",
id: " bc9227e4-fb82-11ed-be56-0242ac120002", id: " bc9227e4-fb82-11ed-be56-0242ac120002",
}, },
@ -43,13 +40,5 @@ export const paramDef = {
} as const; } as const;
export default define(meta, paramDef, async (ps, user) => { export default define(meta, paramDef, async (ps, user) => {
const file = await DriveFiles.findOneBy({ id: ps.fileId });
const instanceMeta = await fetchMeta();
if (instanceMeta.experimentalFeatures?.postImports === false)
throw new ApiError(meta.errors.importsDisabled); throw new ApiError(meta.errors.importsDisabled);
if (file == null) throw new ApiError(meta.errors.noSuchFile);
if (file.size === 0) throw new ApiError(meta.errors.emptyFile);
createImportPostsJob(user, file.id, ps.signatureCheck);
}); });

View file

@ -16,25 +16,6 @@
{{ i18n.ts.export }}</MkButton {{ i18n.ts.export }}</MkButton
> >
</FormFolder> </FormFolder>
<FormFolder class="_formBlock">
<template #label>{{ i18n.ts.import }}</template>
<template #icon
><i class="ph-upload-simple ph-bold ph-lg"></i
></template>
<FormRadios v-model="importType" class="_formBlock">
<option value="iceshrimp">Iceshrimp/Misskey</option>
<option value="mastodon">Mastodon/Akkoma/Pleroma</option>
</FormRadios>
<MkButton
primary
:class="$style.button"
inline
@click="importPosts($event)"
><i class="ph-upload-simple ph-bold ph-lg"></i>
{{ i18n.ts.import }}</MkButton
>
</FormFolder>
</FormSection> </FormSection>
<FormSection> <FormSection>
<template #label>{{ <template #label>{{
@ -214,16 +195,6 @@ const exportNotes = () => {
os.api("i/export-notes", {}).then(onExportSuccess).catch(onError); os.api("i/export-notes", {}).then(onExportSuccess).catch(onError);
}; };
const importPosts = async (ev) => {
const file = await selectFile(ev.currentTarget ?? ev.target);
os.api("i/import-posts", {
fileId: file.id,
signatureCheck: false,
})
.then(onImportSuccess)
.catch(onError);
};
const exportFollowing = () => { const exportFollowing = () => {
os.api("i/export-following", { os.api("i/export-following", {
excludeMuting: excludeMutingUsers.value, excludeMuting: excludeMutingUsers.value,