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
*/
import { request } from '../service/request';
import userRequest from './user';
import worldRequest from './world';
import instanceRequest from './instance';
@@ -23,6 +24,7 @@ import inventoryRequest from './inventory';
import propRequest from './prop';
window.request = {
request,
userRequest,
worldRequest,
instanceRequest,
@@ -44,6 +46,7 @@ window.request = {
};
export {
request,
userRequest,
worldRequest,
instanceRequest,

View File

@@ -1555,6 +1555,7 @@
"date": "Date",
"action": "Action",
"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."
},
"group_member_moderation": {

View File

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

View File

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

View File

@@ -11,6 +11,17 @@
<span class="name" style="margin-right: 24px">{{ t('dialog.registry_backup.auto_backup') }}</span>
<el-switch v-model="vrcRegistryAutoBackup" @change="setVrcRegistryAutoBackup"></el-switch>
</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">
<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">
@@ -82,8 +93,8 @@
const { hideTooltips } = storeToRefs(useAppearanceSettingsStore());
const { backupVrcRegistry } = useVrcxStore();
const { isRegistryBackupDialogVisible } = storeToRefs(useVrcxStore());
const { vrcRegistryAutoBackup } = storeToRefs(useAdvancedSettingsStore());
const { setVrcRegistryAutoBackup } = useAdvancedSettingsStore();
const { vrcRegistryAutoBackup, vrcRegistryAskRestore } = storeToRefs(useAdvancedSettingsStore());
const { setVrcRegistryAutoBackup, setVrcRegistryAskRestore } = useAdvancedSettingsStore();
const { t } = useI18n();