diff --git a/Dotnet/IPC/IPCServer.cs b/Dotnet/IPC/IPCServer.cs index 5a1a9c09..b44f99f3 100644 --- a/Dotnet/IPC/IPCServer.cs +++ b/Dotnet/IPC/IPCServer.cs @@ -30,7 +30,7 @@ namespace VRCX { foreach (var client in Clients) { - client.Send(ipcPacket); + client?.Send(ipcPacket); } } diff --git a/html/src/app.js b/html/src/app.js index 26fe8089..5cfc9b21 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -2568,7 +2568,7 @@ speechSynthesis.getVoices(); return args; }) .catch((err) => { - if (err.includes('Instance is closed.')) { + if (err && err.includes('Instance is closed.')) { $app.$message({ message: 'Instance is closed.', type: 'error' @@ -6377,14 +6377,29 @@ speechSynthesis.getVoices(); if (playNotificationTTS) { this.playNotyTTS(noty, message); } - if (playDesktopToast || playXSNotification || playOvrtHudNotifications || playOvrtWristNotifications || playOverlayNotification) { + if ( + playDesktopToast || + playXSNotification || + playOvrtHudNotifications || + playOvrtWristNotifications || + playOverlayNotification + ) { if (this.imageNotifications) { this.notySaveImage(noty).then((image) => { if (playXSNotification) { this.displayXSNotification(noty, message, image); } - if (playOvrtHudNotifications || playOvrtWristNotifications) { - this.displayOvrtNotification(playOvrtHudNotifications, playOvrtWristNotifications, noty, message, image); + if ( + playOvrtHudNotifications || + playOvrtWristNotifications + ) { + this.displayOvrtNotification( + playOvrtHudNotifications, + playOvrtWristNotifications, + noty, + message, + image + ); } if (playDesktopToast) { this.displayDesktopToast(noty, message, image); @@ -6398,7 +6413,13 @@ speechSynthesis.getVoices(); this.displayXSNotification(noty, message, ''); } if (playOvrtHudNotifications || playOvrtWristNotifications) { - this.displayOvrtNotification(playOvrtHudNotifications, playOvrtWristNotifications, noty, message, ''); + this.displayOvrtNotification( + playOvrtHudNotifications, + playOvrtWristNotifications, + noty, + message, + '' + ); } if (playDesktopToast) { this.displayDesktopToast(noty, message, ''); diff --git a/html/src/mixins/tabs/notifications.pug b/html/src/mixins/tabs/notifications.pug index e5ce1ca4..d93f4fd1 100644 --- a/html/src/mixins/tabs/notifications.pug +++ b/html/src/mixins/tabs/notifications.pug @@ -43,7 +43,11 @@ mixin notificationsTab() img.x-link(v-lazy="scope.row.imageUrl" style="width:500px" @click="showFullscreenImageDialog(scope.row.imageUrl)") el-table-column(:label="$t('table.notification.message')" prop="message") template(v-once #default="scope") - span(v-if="scope.row.title") {{ scope.row.title }}, {{ scope.row.message }} + span.x-link(v-if="scope.row.type === 'invite'" @click="showWorldDialog(scope.row.details.worldId)") + location(v-if="scope.row.details" :location="scope.row.details.worldId" :hint="scope.row.details.worldName" :grouphint="scope.row.details.groupName" :link="false") + br + span(v-if="scope.row.message" v-text="scope.row.message") + span(v-else-if="scope.row.title") {{ scope.row.title }}, {{ scope.row.message }} span(v-else-if="scope.row.message" v-text="scope.row.message") span(v-else-if='scope.row.details && scope.row.details.inviteMessage' v-text="scope.row.details.inviteMessage") span(v-else-if='scope.row.details && scope.row.details.requestMessage' v-text="scope.row.details.requestMessage")