This commit is contained in:
syuilo 2025-07-30 15:07:29 +09:00
parent 1c703a06d6
commit 0217cff067
3 changed files with 31 additions and 0 deletions

4
locales/index.d.ts vendored
View File

@ -6486,6 +6486,10 @@ export interface Locale extends ILocale {
* Redisのメモリ使用量は増加します
*/
"reactionsBufferingDescription": string;
/**
* 稿
*/
"remoteNotesCleaning_description": string;
/**
* URL
*/

View File

@ -1649,6 +1649,7 @@ _serverSettings:
fanoutTimelineDbFallback: "データベースへのフォールバック"
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
remoteNotesCleaning_description: "有効にすると、参照されていない古いリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑制します。"
inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
openRegistration: "アカウントの作成をオープンにする"

View File

@ -101,6 +101,23 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkSwitch>
</div>
</MkFolder>
<MkFolder :defaultOpen="true">
<template #icon><i class="ti ti-recycle"></i></template>
<template #label>Remote Notes Cleaning ()</template>
<template v-if="remoteNotesCleaningForm.savedState.enableRemoteNotesCleaning" #suffix>Enabled</template>
<template v-else #suffix>Disabled</template>
<template v-if="remoteNotesCleaningForm.modified.value" #footer>
<MkFormFooter :form="remoteNotesCleaningForm"/>
</template>
<div class="_gaps_m">
<MkSwitch v-model="remoteNotesCleaningForm.state.enableRemoteNotesCleaning">
<template #label>{{ i18n.ts.enable }}<span v-if="remoteNotesCleaningForm.modifiedStates.enableRemoteNotesCleaning" class="_modified">{{ i18n.ts.modified }}</span></template>
<template #caption>{{ i18n.ts._serverSettings.remoteNotesCleaning_description }}</template>
</MkSwitch>
</div>
</MkFolder>
</div>
</div>
</PageWithHeader>
@ -196,6 +213,15 @@ const rbtForm = useForm({
fetchInstance(true);
});
const remoteNotesCleaningForm = useForm({
enableRemoteNotesCleaning: meta.enableRemoteNotesCleaning,
}, async (state) => {
await os.apiWithDialog('admin/update-meta', {
enableRemoteNotesCleaning: state.enableRemoteNotesCleaning,
});
fetchInstance(true);
});
const headerActions = computed(() => []);
const headerTabs = computed(() => []);