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 | |
| 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')
| -rw-r--r-- | packages/frontend/src/pages/admin/job-queue.job.vue | 4 | ||||
| -rw-r--r-- | packages/frontend/src/pages/admin/performance.vue | 42 |
2 files changed, 44 insertions, 2 deletions
diff --git a/packages/frontend/src/pages/admin/job-queue.job.vue b/packages/frontend/src/pages/admin/job-queue.job.vue index 659aa02b50..4ecdb74199 100644 --- a/packages/frontend/src/pages/admin/job-queue.job.vue +++ b/packages/frontend/src/pages/admin/job-queue.job.vue @@ -98,7 +98,7 @@ SPDX-License-Identifier: AGPL-3.0-only </MkKeyValue> <MkKeyValue v-if="job.progress != null && typeof job.progress === 'number' && job.progress > 0"> <template #key>Progress</template> - <template #value>{{ Math.floor(job.progress * 100) }}%</template> + <template #value>{{ Math.floor(job.progress) }}%</template> </MkKeyValue> </div> <MkFolder :withSpacer="false"> @@ -150,7 +150,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkButton><i class="ti ti-device-floppy"></i> Update</MkButton> </div> <div v-else-if="tab === 'result'"> - <MkCode :code="String(job.returnValue)"/> + <MkCode :code="JSON5.stringify(job.returnValue, null, '\t')" lang="json5"/> </div> <div v-else-if="tab === 'error'" class="_gaps_s"> <MkCode v-for="log in job.stacktrace" :code="log" lang="stacktrace"/> 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(() => []); |