fix uncaught errors

This commit is contained in:
pa
2025-07-14 21:52:48 +09:00
committed by Natsumi
parent b5b962b198
commit 6fb2ad158e
4 changed files with 39 additions and 24 deletions

33
src/bootstrap.js vendored
View File

@@ -20,26 +20,31 @@ import {
import { i18n } from './plugin';
configRepository.init();
i18n.locale = await configRepository.getString('VRCX_appLanguage', 'en');
AppApi.SetUserAgent();
const initThemeMode = await configRepository.getString(
'VRCX_ThemeMode',
'system'
);
try {
i18n.locale = await configRepository.getString('VRCX_appLanguage', 'en');
let isDarkMode;
const initThemeMode = await configRepository.getString(
'VRCX_ThemeMode',
'system'
);
if (initThemeMode === 'light') {
isDarkMode = false;
} else if (initThemeMode === 'system') {
isDarkMode = systemIsDarkMode();
} else {
isDarkMode = true;
let isDarkMode;
if (initThemeMode === 'light') {
isDarkMode = false;
} else if (initThemeMode === 'system') {
isDarkMode = systemIsDarkMode();
} else {
isDarkMode = true;
}
changeAppDarkStyle(isDarkMode);
changeAppThemeStyle(initThemeMode);
} catch (error) {
console.error('Error initializing locale and theme:', error);
}
changeAppDarkStyle(isDarkMode);
changeAppThemeStyle(initThemeMode);
refreshCustomCss();
refreshCustomScript();

View File

@@ -74,10 +74,10 @@
const { hideNicknames } = storeToRefs(useAppearanceSettingsStore());
const { isRefreshFriendsLoading } = storeToRefs(useFriendStore());
const isFriendTraveling = computed(() => props.friend.ref.location === 'traveling');
const isFriendTraveling = computed(() => props.friend.ref?.location === 'traveling');
const isFriendActiveOrOffline = computed(() => props.friend.state === 'active' || props.friend.state === 'offline');
const epoch = computed(() =>
isFriendTraveling.value ? props.friend.ref.$travelingToTime : props.friend.ref.$location_at
isFriendTraveling.value ? props.friend.ref?.$travelingToTime : props.friend.ref?.$location_at
);
</script>

View File

@@ -94,8 +94,9 @@ function connectWebSocket(token) {
return;
}
lastWebSocketMessage = data;
const json = JSON.parse(data);
let json;
try {
json = JSON.parse(data);
json.content = JSON.parse(json.content);
} catch {
// ignore parse error

View File

@@ -75,13 +75,22 @@ export const useAuthStore = defineStore('Auth', () => {
configRepository.getString('lastUserLoggedIn'),
configRepository.getBool('VRCX_enableCustomEndpoint', false)
]);
state.loginForm = {
...state.loginForm,
savedCredentials: savedCredentials
? JSON.parse(savedCredentials)
: {},
lastUserLoggedIn
};
try {
state.loginForm = {
...state.loginForm,
savedCredentials: savedCredentials
? JSON.parse(savedCredentials)
: {},
lastUserLoggedIn
};
} catch (error) {
console.error('Failed to parse savedCredentials:', error);
state.loginForm = {
...state.loginForm,
savedCredentials: {},
lastUserLoggedIn
};
}
state.enableCustomEndpoint = enableCustomEndpoint;
}