From b2b07e5f21f10faa59ce60bec788306438415b65 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Fri, 1 Aug 2025 12:36:25 +0900 Subject: [PATCH] =?UTF-8?q?enhance(backend):=20=E9=80=A3=E5=90=88=E9=96=A2?= =?UTF-8?q?=E4=BF=82=E3=81=AE=E3=82=B5=E3=83=BC=E3=83=90=E3=83=BC=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=81=AE=E3=83=87=E3=83=95=E3=82=A9=E3=83=AB=E3=83=88?= =?UTF-8?q?=E5=80=A4=E3=82=92=E3=82=A6=E3=82=A3=E3=82=B6=E3=83=BC=E3=83=89?= =?UTF-8?q?=E5=81=B4=E3=81=AB=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - サーバー初期設定ウィザードでデフォルト値を設定できるため、データベース上のデフォルト値でオンにしておく必要がない - 連合は初期設定が終わるまで閉じられている方が安全 --- CHANGELOG.md | 2 +- ...019326356-tweakDefaultFederationSettings.js | 18 ++++++++++++++++++ packages/backend/src/models/Meta.ts | 4 ++-- .../src/components/MkServerSetupWizard.vue | 12 +++++------- 4 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 packages/backend/migration/1754019326356-tweakDefaultFederationSettings.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ddad2ec2f..ab8a93d873 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - ノートを削除した際、関連するノートが同時に削除されないようになりました - APIで、「replyIdが存在しているのにreplyがnull」や「renoteIdが存在しているのにrenoteがnull」であるという、今までにはなかったパターンが表れることになります - 定期的に参照されていない古いリモートの投稿を削除する機能が実装されました(コントロールパネル→パフォーマンス→Remote Notes Cleaning) - - **デフォルトでオン**になっています + - 既存のサーバーでは**デフォルトでオフ**、新規サーバーでは**デフォルトでオン**になります - データベースの肥大化を防止することが可能です ### Client diff --git a/packages/backend/migration/1754019326356-tweakDefaultFederationSettings.js b/packages/backend/migration/1754019326356-tweakDefaultFederationSettings.js new file mode 100644 index 0000000000..12c723f80d --- /dev/null +++ b/packages/backend/migration/1754019326356-tweakDefaultFederationSettings.js @@ -0,0 +1,18 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class TweakDefaultFederationSettings1754019326356 { + name = 'TweakDefaultFederationSettings1754019326356' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "federation" SET DEFAULT 'none'`); + await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "enableRemoteNotesCleaning" SET DEFAULT false`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "enableRemoteNotesCleaning" SET DEFAULT true`); + await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "federation" SET DEFAULT 'all'`); + } +} diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index c97fcd8dfc..1fc50cbd07 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -654,7 +654,7 @@ export class MiMeta { @Column('varchar', { length: 128, - default: 'all', + default: 'none', }) public federation: 'all' | 'specified' | 'none'; @@ -703,7 +703,7 @@ export class MiMeta { public allowExternalApRedirect: boolean; @Column('boolean', { - default: true, + default: false, }) public enableRemoteNotesCleaning: boolean; diff --git a/packages/frontend/src/components/MkServerSetupWizard.vue b/packages/frontend/src/components/MkServerSetupWizard.vue index 23e0e85bc9..d2f56b55c4 100644 --- a/packages/frontend/src/components/MkServerSetupWizard.vue +++ b/packages/frontend/src/components/MkServerSetupWizard.vue @@ -207,15 +207,13 @@ const props = withDefaults(defineProps<{ }>(), { }); -const currentMeta = await misskeyApi('admin/meta'); - -const q_name = ref(currentMeta.name ?? ''); +const q_name = ref(''); const q_use = ref('single'); const q_scale = ref('small'); -const q_federation = ref(currentMeta.federation === 'none' ? 'no' : 'yes'); -const q_remoteContentsCleaning = ref(currentMeta.enableRemoteNotesCleaning); -const q_adminName = ref(currentMeta.maintainerName ?? ''); -const q_adminEmail = ref(currentMeta.maintainerEmail ?? ''); +const q_federation = ref('yes'); +const q_remoteContentsCleaning = ref(true); +const q_adminName = ref(''); +const q_adminEmail = ref(''); const serverSettings = computed(() => { let enableReactionsBuffering;