Open to disable vrc reg restore popup

This commit is contained in:
Natsumi
2025-08-20 05:00:45 +12:00
parent 7efd89d357
commit 7d06966fef
5 changed files with 40 additions and 12 deletions

View File

@@ -3,6 +3,7 @@
* Export all API requests from here * Export all API requests from here
*/ */
import { request } from '../service/request';
import userRequest from './user'; import userRequest from './user';
import worldRequest from './world'; import worldRequest from './world';
import instanceRequest from './instance'; import instanceRequest from './instance';
@@ -23,6 +24,7 @@ import inventoryRequest from './inventory';
import propRequest from './prop'; import propRequest from './prop';
window.request = { window.request = {
request,
userRequest, userRequest,
worldRequest, worldRequest,
instanceRequest, instanceRequest,
@@ -44,6 +46,7 @@ window.request = {
}; };
export { export {
request,
userRequest, userRequest,
worldRequest, worldRequest,
instanceRequest, instanceRequest,

View File

@@ -1555,6 +1555,7 @@
"date": "Date", "date": "Date",
"action": "Action", "action": "Action",
"auto_backup": "Auto backup every 3 days (deletes after 2 weeks)", "auto_backup": "Auto backup every 3 days (deletes after 2 weeks)",
"ask_to_restore": "Ask to restore when no VRC registry settings are present",
"restore_prompt": "VRCX has noticed auto backup of VRC registry settings is enabled but this computer doesn't have any, if you'd like to restore from backup you can do so from here." "restore_prompt": "VRCX has noticed auto backup of VRC registry settings is enabled but this computer doesn't have any, if you'd like to restore from backup you can do so from here."
}, },
"group_member_moderation": { "group_member_moderation": {

View File

@@ -42,7 +42,8 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
folderSelectorDialogVisible: false, folderSelectorDialogVisible: false,
isVRChatConfigDialogVisible: false, isVRChatConfigDialogVisible: false,
saveInstanceEmoji: false, saveInstanceEmoji: false,
vrcRegistryAutoBackup: true vrcRegistryAutoBackup: true,
vrcRegistryAskRestore: true
}); });
async function initAdvancedSettings() { async function initAdvancedSettings() {
@@ -70,7 +71,8 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
autoDeleteOldPrints, autoDeleteOldPrints,
notificationOpacity, notificationOpacity,
saveInstanceEmoji, saveInstanceEmoji,
vrcRegistryAutoBackup vrcRegistryAutoBackup,
vrcRegistryAskRestore
] = await Promise.all([ ] = await Promise.all([
configRepository.getBool('enablePrimaryPassword', false), configRepository.getBool('enablePrimaryPassword', false),
configRepository.getBool('VRCX_relaunchVRChatAfterCrash', false), configRepository.getBool('VRCX_relaunchVRChatAfterCrash', false),
@@ -104,7 +106,8 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
configRepository.getBool('VRCX_autoDeleteOldPrints', false), configRepository.getBool('VRCX_autoDeleteOldPrints', false),
configRepository.getFloat('VRCX_notificationOpacity', 100), configRepository.getFloat('VRCX_notificationOpacity', 100),
configRepository.getBool('VRCX_saveInstanceEmoji', false), configRepository.getBool('VRCX_saveInstanceEmoji', false),
configRepository.getBool('VRCX_vrcRegistryAutoBackup', true) configRepository.getBool('VRCX_vrcRegistryAutoBackup', true),
configRepository.getBool('VRCX_vrcRegistryAskRestore', true)
]); ]);
state.enablePrimaryPassword = enablePrimaryPassword; state.enablePrimaryPassword = enablePrimaryPassword;
@@ -131,6 +134,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
state.notificationOpacity = notificationOpacity; state.notificationOpacity = notificationOpacity;
state.saveInstanceEmoji = saveInstanceEmoji; state.saveInstanceEmoji = saveInstanceEmoji;
state.vrcRegistryAutoBackup = vrcRegistryAutoBackup; state.vrcRegistryAutoBackup = vrcRegistryAutoBackup;
state.vrcRegistryAskRestore = vrcRegistryAskRestore;
handleSetAppLauncherSettings(); handleSetAppLauncherSettings();
} }
@@ -203,6 +207,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
set: (value) => (state.saveInstanceEmoji = value) set: (value) => (state.saveInstanceEmoji = value)
}); });
const vrcRegistryAutoBackup = computed(() => state.vrcRegistryAutoBackup); const vrcRegistryAutoBackup = computed(() => state.vrcRegistryAutoBackup);
const vrcRegistryAskRestore = computed(() => state.vrcRegistryAskRestore);
/** /**
* @param {boolean} value * @param {boolean} value
@@ -376,6 +381,14 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
); );
} }
async function setVrcRegistryAskRestore() {
state.vrcRegistryAskRestore = !state.vrcRegistryAskRestore;
await configRepository.setBool(
'VRCX_vrcRegistryAskRestore',
state.vrcRegistryAskRestore
);
}
async function getSqliteTableSizes() { async function getSqliteTableSizes() {
const [ const [
gps, gps,
@@ -682,6 +695,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
isVRChatConfigDialogVisible, isVRChatConfigDialogVisible,
saveInstanceEmoji, saveInstanceEmoji,
vrcRegistryAutoBackup, vrcRegistryAutoBackup,
vrcRegistryAskRestore,
setEnablePrimaryPasswordConfigRepository, setEnablePrimaryPasswordConfigRepository,
setRelaunchVRChatAfterCrash, setRelaunchVRChatAfterCrash,
@@ -717,6 +731,7 @@ export const useAdvancedSettingsStore = defineStore('AdvancedSettings', () => {
promptAutoClearVRCXCacheFrequency, promptAutoClearVRCXCacheFrequency,
setSaveInstanceEmoji, setSaveInstanceEmoji,
setVrcRegistryAutoBackup, setVrcRegistryAutoBackup,
setVrcRegistryAskRestore,
askDeleteAllScreenshotMetadata askDeleteAllScreenshotMetadata
}; };
}); });

View File

@@ -7,12 +7,7 @@ import { database } from '../service/database';
import { AppGlobal } from '../service/appConfig'; import { AppGlobal } from '../service/appConfig';
import { failedGetRequests } from '../service/request'; import { failedGetRequests } from '../service/request';
import { watchState } from '../service/watchState'; import { watchState } from '../service/watchState';
import { import { debounce, parseLocation, refreshCustomCss } from '../shared/utils';
debounce,
parseLocation,
refreshCustomCss,
removeFromArray
} from '../shared/utils';
import { useAvatarStore } from './avatar'; import { useAvatarStore } from './avatar';
import { useAvatarProviderStore } from './avatarProvider'; import { useAvatarProviderStore } from './avatarProvider';
import { useFavoriteStore } from './favorite'; import { useFavoriteStore } from './favorite';
@@ -669,7 +664,10 @@ export const useVrcxStore = defineStore('Vrcx', () => {
} }
async function checkAutoBackupRestoreVrcRegistry() { async function checkAutoBackupRestoreVrcRegistry() {
if (!advancedSettingsStore.vrcRegistryAutoBackup) { if (
!advancedSettingsStore.vrcRegistryAutoBackup ||
!advancedSettingsStore.vrcRegistryAskRestore
) {
return; return;
} }

View File

@@ -11,6 +11,17 @@
<span class="name" style="margin-right: 24px">{{ t('dialog.registry_backup.auto_backup') }}</span> <span class="name" style="margin-right: 24px">{{ t('dialog.registry_backup.auto_backup') }}</span>
<el-switch v-model="vrcRegistryAutoBackup" @change="setVrcRegistryAutoBackup"></el-switch> <el-switch v-model="vrcRegistryAutoBackup" @change="setVrcRegistryAutoBackup"></el-switch>
</div> </div>
<div
style="
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12px;
margin-top: 5px;
">
<span class="name" style="margin-right: 24px">{{ t('dialog.registry_backup.ask_to_restore') }}</span>
<el-switch v-model="vrcRegistryAskRestore" @change="setVrcRegistryAskRestore"></el-switch>
</div>
<data-tables v-bind="registryBackupTable" style="margin-top: 10px"> <data-tables v-bind="registryBackupTable" style="margin-top: 10px">
<el-table-column :label="t('dialog.registry_backup.name')" prop="name"></el-table-column> <el-table-column :label="t('dialog.registry_backup.name')" prop="name"></el-table-column>
<el-table-column :label="t('dialog.registry_backup.date')" prop="date"> <el-table-column :label="t('dialog.registry_backup.date')" prop="date">
@@ -82,8 +93,8 @@
const { hideTooltips } = storeToRefs(useAppearanceSettingsStore()); const { hideTooltips } = storeToRefs(useAppearanceSettingsStore());
const { backupVrcRegistry } = useVrcxStore(); const { backupVrcRegistry } = useVrcxStore();
const { isRegistryBackupDialogVisible } = storeToRefs(useVrcxStore()); const { isRegistryBackupDialogVisible } = storeToRefs(useVrcxStore());
const { vrcRegistryAutoBackup } = storeToRefs(useAdvancedSettingsStore()); const { vrcRegistryAutoBackup, vrcRegistryAskRestore } = storeToRefs(useAdvancedSettingsStore());
const { setVrcRegistryAutoBackup } = useAdvancedSettingsStore(); const { setVrcRegistryAutoBackup, setVrcRegistryAskRestore } = useAdvancedSettingsStore();
const { t } = useI18n(); const { t } = useI18n();