Fix user profile badges and random errors

This commit is contained in:
Natsumi
2025-10-18 22:41:13 +11:00
parent 71d4e57900
commit 893302f0ad
9 changed files with 30 additions and 16 deletions

View File

@@ -184,7 +184,6 @@
message: 'Group post edited',
type: 'success'
});
return args;
});
D.visible = false;
}
@@ -210,12 +209,11 @@
params.imageId = gallerySelectDialog.value.selectedFileId;
}
groupRequest.createGroupPost(params).then((args) => {
handleGroupPost();
handleGroupPost(args);
ElMessage({
message: 'Group post created',
type: 'success'
});
return args;
});
D.visible = false;
}

View File

@@ -90,6 +90,12 @@
>{{ t('dialog.user.actions.invite_with_message') }}</el-dropdown-item
>
</template>
<el-dropdown-item
:disabled="!currentUser.isBoopingEnabled"
:icon="Pointer"
command="Send Boop"
>{{ t('dialog.user.actions.send_boop') }}</el-dropdown-item
>
</template>
<template v-else-if="userDialog.incomingRequest">
<el-dropdown-item :icon="Check" command="Accept Friend Request">{{
@@ -108,12 +114,6 @@
<el-dropdown-item v-else :icon="Plus" command="Send Friend Request">{{
t('dialog.user.actions.send_friend_request')
}}</el-dropdown-item>
<el-dropdown-item
:disabled="!currentUser.isBoopingEnabled"
:icon="Pointer"
command="Send Boop"
>{{ t('dialog.user.actions.send_boop') }}</el-dropdown-item
>
<el-dropdown-item :icon="Message" command="Invite To Group">{{
t('dialog.user.actions.invite_to_group')
}}</el-dropdown-item>

View File

@@ -44,7 +44,8 @@ export async function initSentry(app) {
beforeSend(event) {
if (
event.request?.status !== 404 &&
event.request?.status !== 403
event.request?.status !== 403 &&
event.request?.status !== -1
) {
return event;
}

View File

@@ -431,6 +431,9 @@ async function getBundleDateSize(ref) {
const bundleJson = [];
for (let i = ref.unityPackages.length - 1; i > -1; i--) {
const unityPackage = ref.unityPackages[i];
if (!unityPackage) {
continue;
}
if (
unityPackage.variant &&
unityPackage.variant !== 'standard' &&

View File

@@ -119,15 +119,24 @@ export const useAuthStore = defineStore('Auth', () => {
loginForm.value.lastUserLoggedIn = lastUserLoggedIn;
try {
const credentials = JSON.parse(savedCredentials || '{}');
// fix goofy typo
let edited = false;
for (const userId in credentials) {
// fix goofy typo
if (credentials[userId].loginParmas) {
credentials[userId].loginParams =
credentials[userId].loginParmas;
delete credentials[userId].loginParmas;
edited = true;
}
// fix missing fields
if (!credentials[userId].loginParams.endpoint) {
credentials[userId].loginParams.endpoint = '';
edited = true;
}
if (!credentials[userId].loginParams.websocket) {
credentials[userId].loginParams.websocket = '';
edited = true;
}
}
if (edited) {
await configRepository.setString(

View File

@@ -597,7 +597,10 @@ export const useGameLogStore = defineStore('GameLog', () => {
console.error('Missing userId:', gameLog.displayName);
} else if (userId === userStore.currentUser.id) {
// skip
} else if (friendStore.friends.has(userId)) {
} else if (
friendStore.friends.has(userId) &&
typeof ref !== 'undefined'
) {
locationStore.lastLocation.friendList.set(userId, userMap);
if (
ref.location !== locationStore.lastLocation.location &&

View File

@@ -364,7 +364,7 @@ export const useInstanceStore = defineStore('Instance', () => {
}
if (
userStore.userDialog.visible &&
userStore.userDialog.ref.$location.tag === ref.id
userStore.userDialog.ref?.$location.tag === ref.id
) {
userStore.applyUserDialogLocation();
}

View File

@@ -561,7 +561,7 @@ export const useUserStore = defineStore('User', () => {
}
}
for (const prop in json) {
if (typeof ref[prop] !== 'undefined') {
if (typeof json[prop] !== 'undefined') {
ref[prop] = json[prop];
}
}
@@ -1732,7 +1732,7 @@ export const useUserStore = defineStore('User', () => {
}
}
for (const prop in json) {
if (typeof ref[prop] !== 'undefined') {
if (typeof json[prop] !== 'undefined') {
ref[prop] = json[prop];
}
}

View File

@@ -127,7 +127,7 @@
<template #default="scope">
<template v-if="scope.row.type === 'boop'">
<img
v-if="!scope.row.details.imageUrl.startsWith('default_')"
v-if="scope.row.details?.imageUrl && !scope.row.details.imageUrl.startsWith('default_')"
class="x-link"
:src="getSmallThumbnailUrl(scope.row.details.imageUrl)"
style="flex: none; height: 50px; border-radius: 4px"