diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-01 11:49:12 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-01 11:49:12 +0900 |
| commit | d624da9c1aac731bd49a7bbb949744ebf4986479 (patch) | |
| tree | 94306c63e3452e77fcf100b5a61eb243705463e4 /packages/frontend/src/pages/admin/performance.vue | |
| parent | enhance(frontend): サーバーの初期設定ウィザードをやり直せ... (diff) | |
| download | misskey-d624da9c1aac731bd49a7bbb949744ebf4986479.tar.gz misskey-d624da9c1aac731bd49a7bbb949744ebf4986479.tar.bz2 misskey-d624da9c1aac731bd49a7bbb949744ebf4986479.zip | |
feat: remote notes cleaning (#16292)
* Create CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* wip
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update CleanRemoteNotesProcessorService.ts
* Update job-queue.job.vue
* wip
* Update CleanRemoteNotesProcessorService.ts
* wip
* wip
* wip
* Update CleanRemoteNotesProcessorService.ts
* wip
* Update CHANGELOG.md
* Revert "wip"
This reverts commit 89d455d302c1106c421bcec309fd7bf02509465e.
* wip
* woip
* Update QueueService.ts
* Update QueueService.ts
* ピン留め考慮
* Update CleanRemoteNotesProcessorService.ts
* Update QueueService.ts
* Update CleanRemoteNotesProcessorService.ts
* add log
* Update CHANGELOG.md
* wip
* Update MkServerSetupWizard.vue
Diffstat (limited to 'packages/frontend/src/pages/admin/performance.vue')
| -rw-r--r-- | packages/frontend/src/pages/admin/performance.vue | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/frontend/src/pages/admin/performance.vue b/packages/frontend/src/pages/admin/performance.vue index c28621b11e..ff3a5b9d7f 100644 --- a/packages/frontend/src/pages/admin/performance.vue +++ b/packages/frontend/src/pages/admin/performance.vue @@ -101,6 +101,35 @@ 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> + + <template v-if="remoteNotesCleaningForm.state.enableRemoteNotesCleaning"> + <MkInput v-model="remoteNotesCleaningForm.state.remoteNotesCleaningExpiryDaysForEachNotes" type="number"> + <template #label>{{ i18n.ts._serverSettings.remoteNotesCleaningExpiryDaysForEachNotes }} ({{ i18n.ts.inDays }})<span v-if="remoteNotesCleaningForm.modifiedStates.remoteNotesCleaningExpiryDaysForEachNotes" class="_modified">{{ i18n.ts.modified }}</span></template> + <template #suffix>{{ i18n.ts._time.day }}</template> + </MkInput> + + <MkInput v-model="remoteNotesCleaningForm.state.remoteNotesCleaningMaxProcessingDurationInMinutes" type="number"> + <template #label>{{ i18n.ts._serverSettings.remoteNotesCleaningMaxProcessingDuration }} ({{ i18n.ts.inMinutes }})<span v-if="remoteNotesCleaningForm.modifiedStates.remoteNotesCleaningMaxProcessingDurationInMinutes" class="_modified">{{ i18n.ts.modified }}</span></template> + <template #suffix>{{ i18n.ts._time.minute }}</template> + </MkInput> + </template> + </div> + </MkFolder> </div> </div> </PageWithHeader> @@ -196,6 +225,19 @@ const rbtForm = useForm({ fetchInstance(true); }); +const remoteNotesCleaningForm = useForm({ + enableRemoteNotesCleaning: meta.enableRemoteNotesCleaning, + remoteNotesCleaningExpiryDaysForEachNotes: meta.remoteNotesCleaningExpiryDaysForEachNotes, + remoteNotesCleaningMaxProcessingDurationInMinutes: meta.remoteNotesCleaningMaxProcessingDurationInMinutes, +}, async (state) => { + await os.apiWithDialog('admin/update-meta', { + enableRemoteNotesCleaning: state.enableRemoteNotesCleaning, + remoteNotesCleaningExpiryDaysForEachNotes: state.remoteNotesCleaningExpiryDaysForEachNotes, + remoteNotesCleaningMaxProcessingDurationInMinutes: state.remoteNotesCleaningMaxProcessingDurationInMinutes, + }); + fetchInstance(true); +}); + const headerActions = computed(() => []); const headerTabs = computed(() => []); |