diff --git a/packages/backend/migration/1695348946091-normalize-locales.js b/packages/backend/migration/1695348946091-normalize-locales.js deleted file mode 100644 index 3fc656372..000000000 --- a/packages/backend/migration/1695348946091-normalize-locales.js +++ /dev/null @@ -1,22 +0,0 @@ -export class NormalizeLocales1695348946091 { - name = "NormalizeLocales1695348946091"; - - async up(queryRunner) { - await queryRunner - .query(`SELECT "id", "lang" FROM "note" WHERE "lang" IS NOT NULL`) - .then((notes) => - Promise.all( - notes.map((note) => { - return queryRunner.query( - 'UPDATE "note" SET "lang" = $1 WHERE "id" = $2', - [note.lang.trim().split("-")[0].split("@")[0], note.id], - ); - }), - ), - ); - } - - async down(queryRunner) { - // The original locales are not stored, so migrating back is not possible. - } -} diff --git a/packages/backend/src/remote/activitypub/models/note.ts b/packages/backend/src/remote/activitypub/models/note.ts index fa01046f2..5c8807c29 100644 --- a/packages/backend/src/remote/activitypub/models/note.ts +++ b/packages/backend/src/remote/activitypub/models/note.ts @@ -314,11 +314,11 @@ export async function createNote( text = note.source.content; if (note.contentMap != null) { const key = Object.keys(note.contentMap)[0]; - lang = Object.keys(langmap).includes(key) ? key.trim().split("-")[0].split("@")[0] : null; + lang = Object.keys(langmap).includes(key) ? key : null; } } else if (note.contentMap != null) { const entry = Object.entries(note.contentMap)[0]; - lang = Object.keys(langmap).includes(entry[0]) ? entry[0].trim().split("-")[0].split("@")[0] : null; + lang = Object.keys(langmap).includes(entry[0]) ? entry[0] : null; text = htmlToMfm(entry[1], note.tag); } else if (typeof note.content === "string") { text = htmlToMfm(note.content, note.tag); @@ -584,11 +584,11 @@ export async function updateNote(value: string | IObject, resolver?: Resolver) { text = post.source.content; if (post.contentMap != null) { const key = Object.keys(post.contentMap)[0]; - lang = Object.keys(langmap).includes(key) ? key.trim().split("-")[0].split("@")[0] : null; + lang = Object.keys(langmap).includes(key) ? key : null; } } else if (post.contentMap != null) { const entry = Object.entries(post.contentMap)[0]; - lang = Object.keys(langmap).includes(entry[0]) ? entry[0].trim().split("-")[0].split("@")[0] : null; + lang = Object.keys(langmap).includes(entry[0]) ? entry[0] : null; text = htmlToMfm(entry[1], post.tag); } else if (typeof post.content === "string") { text = htmlToMfm(post.content, post.tag); diff --git a/packages/backend/src/server/api/endpoints/notes/edit.ts b/packages/backend/src/server/api/endpoints/notes/edit.ts index 8d825cf61..9e58021c2 100644 --- a/packages/backend/src/server/api/endpoints/notes/edit.ts +++ b/packages/backend/src/server/api/endpoints/notes/edit.ts @@ -379,8 +379,8 @@ export default define(meta, paramDef, async (ps, user) => { } if (ps.lang) { + ps.lang = ps.lang.trim(); if (!Object.keys(langmap).includes(ps.lang.trim())) throw new Error("invalid param"); - ps.lang = ps.lang.trim().split("-")[0].split("@")[0]; } else if (ps.text) { ps.lang = detectLanguage(ps.text); } else { diff --git a/packages/backend/src/services/note/create.ts b/packages/backend/src/services/note/create.ts index 080925048..80ea6255e 100644 --- a/packages/backend/src/services/note/create.ts +++ b/packages/backend/src/services/note/create.ts @@ -280,8 +280,8 @@ export default async ( } if (data.lang) { + data.lang = data.lang.trim(); if (!Object.keys(langmap).includes(data.lang.trim())) throw new Error("invalid param"); - data.lang = data.lang.trim().split("-")[0].split("@")[0]; } else if (data.text) { data.lang = detectLanguage(data.text); } else {