enhance(backend): 連合関係のサーバー設定のデフォルト値をウィザード側に移動

- サーバー初期設定ウィザードでデフォルト値を設定できるため、データベース上のデフォルト値でオンにしておく必要がない
- 連合は初期設定が終わるまで閉じられている方が安全
This commit is contained in:
syuilo 2025-08-01 12:36:25 +09:00
parent da06f75455
commit b2b07e5f21
4 changed files with 26 additions and 10 deletions

View File

@ -7,7 +7,7 @@
- ノートを削除した際、関連するノートが同時に削除されないようになりました
- APIで、「replyIdが存在しているのにreplyがnull」や「renoteIdが存在しているのにrenoteがnull」であるという、今までにはなかったパターンが表れることになります
- 定期的に参照されていない古いリモートの投稿を削除する機能が実装されました(コントロールパネル→パフォーマンス→Remote Notes Cleaning)
- **デフォルトでオン**になっています
- 既存のサーバーでは**デフォルトでオフ**、新規サーバーでは**デフォルトでオン**になります
- データベースの肥大化を防止することが可能です
### Client

View File

@ -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'`);
}
}

View File

@ -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;

View File

@ -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<Misskey.entities.AdminUpdateMetaRequest>(() => {
let enableReactionsBuffering;