From 03ed64c99fba2ffeba20d78431ca0de7a7fde4c7 Mon Sep 17 00:00:00 2001
From: Prospector <6166773+Prospector@users.noreply.github.com>
Date: Tue, 14 Oct 2025 15:35:50 -0700
Subject: [PATCH] Remove "prepare backup" step (#4551)
* Remove "prepare backup" step
* fix post-approval.ts
---
.../src/components/ui/servers/BackupItem.vue | 80 ++-----------------
.../composables/servers/modules/backups.ts | 6 --
apps/frontend/src/locales/en-US/index.json | 15 ----
.../src/pages/servers/manage/[id]/backups.vue | 14 ----
.../src/data/stages/post-approval.ts | 2 +-
packages/utils/servers/types/websocket.ts | 2 +-
6 files changed, 8 insertions(+), 111 deletions(-)
diff --git a/apps/frontend/src/components/ui/servers/BackupItem.vue b/apps/frontend/src/components/ui/servers/BackupItem.vue
index b254a8da..6e910066 100644
--- a/apps/frontend/src/components/ui/servers/BackupItem.vue
+++ b/apps/frontend/src/components/ui/servers/BackupItem.vue
@@ -17,13 +17,13 @@ import { ButtonStyled, commonMessages, OverflowMenu, ProgressBar } from '@modrin
import type { Backup } from '@modrinth/utils'
import { defineMessages, useVIntl } from '@vintl/vintl'
import dayjs from 'dayjs'
-import { computed, ref } from 'vue'
+import { computed } from 'vue'
const flags = useFeatureFlags()
const { formatMessage } = useVIntl()
const emit = defineEmits<{
- (e: 'prepare' | 'download' | 'rename' | 'restore' | 'lock' | 'retry'): void
+ (e: 'download' | 'rename' | 'restore' | 'lock' | 'retry'): void
(e: 'delete', skipConfirmation?: boolean): void
}>()
@@ -49,14 +49,8 @@ const backupQueued = computed(
const automated = computed(() => props.backup.automated)
const failedToCreate = computed(() => props.backup.interrupted)
-const preparedDownloadStates = ['ready', 'done']
const inactiveStates = ['failed', 'cancelled']
-const hasPreparedDownload = computed(() => {
- const fileState = props.backup.task?.file?.state ?? ''
- return preparedDownloadStates.includes(fileState)
-})
-
const creating = computed(() => {
const task = props.backup.task?.create
if (task && task.progress < 1 && !inactiveStates.includes(task.state)) {
@@ -79,22 +73,7 @@ const restoring = computed(() => {
return undefined
})
-const initiatedPrepare = ref(false)
-
-const preparingFile = computed(() => {
- if (hasPreparedDownload.value) {
- return false
- }
-
- const task = props.backup.task?.file
- return (
- (!task && initiatedPrepare.value) ||
- (task && task.progress < 1 && !inactiveStates.includes(task.state))
- )
-})
-
const failedToRestore = computed(() => props.backup.task?.restore?.state === 'failed')
-const failedToPrepareFile = computed(() => props.backup.task?.file?.state === 'failed')
const messages = defineMessages({
locked: {
@@ -121,22 +100,6 @@ const messages = defineMessages({
id: 'servers.backups.item.queued-for-backup',
defaultMessage: 'Queued for backup',
},
- preparingDownload: {
- id: 'servers.backups.item.preparing-download',
- defaultMessage: 'Preparing download...',
- },
- prepareDownload: {
- id: 'servers.backups.item.prepare-download',
- defaultMessage: 'Prepare download',
- },
- prepareDownloadAgain: {
- id: 'servers.backups.item.prepare-download-again',
- defaultMessage: 'Try preparing again',
- },
- alreadyPreparing: {
- id: 'servers.backups.item.already-preparing',
- defaultMessage: 'Already preparing backup for download',
- },
creatingBackup: {
id: 'servers.backups.item.creating-backup',
defaultMessage: 'Creating backup...',
@@ -153,10 +116,6 @@ const messages = defineMessages({
id: 'servers.backups.item.failed-to-restore-backup',
defaultMessage: 'Failed to restore from backup',
},
- failedToPrepareFile: {
- id: 'servers.backups.item.failed-to-prepare-backup',
- defaultMessage: 'Failed to prepare download',
- },
automated: {
id: 'servers.backups.item.automated',
defaultMessage: 'Automated',
@@ -200,17 +159,13 @@ const messages = defineMessages({
•
{{
formatMessage(
- failedToCreate
- ? messages.failedToCreateBackup
- : failedToRestore
- ? messages.failedToRestoreBackup
- : messages.failedToPrepareFile,
+ failedToCreate ? messages.failedToCreateBackup : messages.failedToRestoreBackup,
)
}}
@@ -270,7 +225,6 @@ const messages = defineMessages({
{{ formatMessage(commonMessages.downloadButton) }}
-
emit('restore'),
- disabled: !!restoring || !!preparingFile,
+ disabled: !!restoring,
},
{ id: 'lock', action: () => emit('lock') },
{ divider: true },
@@ -318,7 +250,7 @@ const messages = defineMessages({
id: 'delete',
color: 'red',
action: () => emit('delete'),
- disabled: !!restoring || !!preparingFile,
+ disabled: !!restoring,
},
]"
>
diff --git a/apps/frontend/src/composables/servers/modules/backups.ts b/apps/frontend/src/composables/servers/modules/backups.ts
index 81a4bc81..fd2f2646 100644
--- a/apps/frontend/src/composables/servers/modules/backups.ts
+++ b/apps/frontend/src/composables/servers/modules/backups.ts
@@ -41,12 +41,6 @@ export class BackupsModule extends ServerModule {
await this.fetch() // Refresh this module
}
- async prepare(backupId: string): Promise {
- await useServersFetch(`servers/${this.serverId}/backups/${backupId}/prepare-download`, {
- method: 'POST',
- })
- }
-
async lock(backupId: string): Promise {
await useServersFetch(`servers/${this.serverId}/backups/${backupId}/lock`, {
method: 'POST',
diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json
index 6b349c0b..66ccb162 100644
--- a/apps/frontend/src/locales/en-US/index.json
+++ b/apps/frontend/src/locales/en-US/index.json
@@ -1877,9 +1877,6 @@
"servers.backup.restore.in-progress.tooltip": {
"message": "Backup restore in progress"
},
- "servers.backups.item.already-preparing": {
- "message": "Already preparing backup for download"
- },
"servers.backups.item.automated": {
"message": "Automated"
},
@@ -1889,9 +1886,6 @@
"servers.backups.item.failed-to-create-backup": {
"message": "Failed to create backup"
},
- "servers.backups.item.failed-to-prepare-backup": {
- "message": "Failed to prepare download"
- },
"servers.backups.item.failed-to-restore-backup": {
"message": "Failed to restore from backup"
},
@@ -1901,15 +1895,6 @@
"servers.backups.item.locked": {
"message": "Locked"
},
- "servers.backups.item.prepare-download": {
- "message": "Prepare download"
- },
- "servers.backups.item.prepare-download-again": {
- "message": "Try preparing again"
- },
- "servers.backups.item.preparing-download": {
- "message": "Preparing download..."
- },
"servers.backups.item.queued-for-backup": {
"message": "Queued for backup"
},
diff --git a/apps/frontend/src/pages/servers/manage/[id]/backups.vue b/apps/frontend/src/pages/servers/manage/[id]/backups.vue
index 62b16058..091f036b 100644
--- a/apps/frontend/src/pages/servers/manage/[id]/backups.vue
+++ b/apps/frontend/src/pages/servers/manage/[id]/backups.vue
@@ -107,7 +107,6 @@
:backup="backup"
:kyros-url="props.server.general?.node.instance"
:jwt="props.server.general?.node.token"
- @prepare="() => prepareDownload(backup.id)"
@download="() => triggerDownloadAnimation()"
@rename="() => renameBackupModal?.show(backup)"
@restore="() => restoreBackupModal?.show(backup)"
@@ -233,19 +232,6 @@ function triggerDownloadAnimation() {
setTimeout(() => (overTheTopDownloadAnimation.value = false), 500)
}
-const prepareDownload = async (backupId: string) => {
- try {
- await props.server.backups?.prepare(backupId)
- } catch (error) {
- console.error('Failed to prepare download:', error)
- addNotification({
- type: 'error',
- title: 'Failed to prepare backup for download',
- text: error as string,
- })
- }
-}
-
const lockBackup = async (backupId: string) => {
try {
await props.server.backups?.lock(backupId)
diff --git a/packages/moderation/src/data/stages/post-approval.ts b/packages/moderation/src/data/stages/post-approval.ts
index f52ffad9..61773b90 100644
--- a/packages/moderation/src/data/stages/post-approval.ts
+++ b/packages/moderation/src/data/stages/post-approval.ts
@@ -54,7 +54,7 @@ const postApproval: Stage = {
weight: 1,
severity: 'low',
message: async () =>
- (await import('../messages/misc-metadata/dependancies.md?raw')).default,
+ (await import('../messages/misc-metadata/dependencies.md?raw')).default,
relevantExtraInput: [
{
label: 'Dependency Name',
diff --git a/packages/utils/servers/types/websocket.ts b/packages/utils/servers/types/websocket.ts
index 7f367feb..5440604e 100644
--- a/packages/utils/servers/types/websocket.ts
+++ b/packages/utils/servers/types/websocket.ts
@@ -59,7 +59,7 @@ export interface WSNewModEvent {
event: 'new-mod'
}
-export type WSBackupTask = 'file' | 'create' | 'restore'
+export type WSBackupTask = 'create' | 'restore'
export type WSBackupState = 'ongoing' | 'done' | 'failed' | 'cancelled' | 'unchanged'
export interface WSBackupProgressEvent {