Add more log parsing for portals, video errors, shader keyword limit

This commit is contained in:
Natsumi
2021-04-08 18:41:48 +12:00
parent e94b43db4b
commit 5a4f38c234
6 changed files with 200 additions and 8 deletions

View File

@@ -4365,6 +4365,12 @@ speechSynthesis.getVoices();
case 'unmute':
this.speak(`${noty.sourceDisplayName} has unmuted you`);
break;
case 'PortalSpawn':
this.speak(`${noty.data} has spawned a portal`);
break;
case 'Event':
this.speak(noty.data);
break;
default:
break;
}
@@ -4436,6 +4442,12 @@ speechSynthesis.getVoices();
case 'unmute':
AppApi.XSNotification('VRCX', `${noty.sourceDisplayName} has unmuted you`, timeout, image);
break;
case 'PortalSpawn':
AppApi.XSNotification('VRCX', `${noty.data} has spawned a portal`, timeout, image);
break;
case 'Event':
AppApi.XSNotification('VRCX', noty.data, timeout, image);
break;
default:
break;
}
@@ -4506,6 +4518,12 @@ speechSynthesis.getVoices();
case 'unmute':
AppApi.DesktopNotification(noty.sourceDisplayName, `has unmuted you`, image);
break;
case 'PortalSpawn':
AppApi.DesktopNotification(noty.data, `has spawned a portal`, image);
break;
case 'Event':
AppApi.DesktopNotification('Event', noty.data, '');
break;
default:
break;
}
@@ -5757,6 +5775,23 @@ speechSynthesis.getVoices();
};
break;
case 'portal-spawn':
tableData = {
created_at: gameLog.dt,
type: 'PortalSpawn',
data: gameLog.userDisplayName
};
break;
case 'event':
tableData = {
created_at: gameLog.dt,
type: 'Event',
data: gameLog.event
};
break;
default:
break;
}
@@ -6920,6 +6955,8 @@ speechSynthesis.getVoices();
sharedFeedFilters.noty.block = 'On';
sharedFeedFilters.noty.mute = 'On';
sharedFeedFilters.noty.unmute = 'On';
sharedFeedFilters.noty.PortalSpawn = 'Everyone';
sharedFeedFilters.noty.Event = 'On';
sharedFeedFilters.wrist.Location = 'On';
sharedFeedFilters.wrist.OnPlayerJoined = 'Everyone';
sharedFeedFilters.wrist.OnPlayerLeft = 'Everyone';
@@ -6942,6 +6979,8 @@ speechSynthesis.getVoices();
sharedFeedFilters.wrist.block = 'On';
sharedFeedFilters.wrist.mute = 'On';
sharedFeedFilters.wrist.unmute = 'On';
sharedFeedFilters.wrist.PortalSpawn = 'Everyone';
sharedFeedFilters.wrist.Event = 'On';
configRepository.setString('sharedFeedFilters', JSON.stringify(sharedFeedFilters));
}

View File

@@ -167,7 +167,7 @@ html
template(#tool)
div(style="margin:0 0 10px;display:flex;align-items:center")
el-select(v-model="gameLogTable.filters[0].value" multiple clearable collapse-tags style="flex:1" placeholder="Filter")
el-option(v-once v-for="type in ['Location', 'OnPlayerJoined', 'OnPlayerLeft', 'Notification']" :key="type" :label="type" :value="type")
el-option(v-once v-for="type in ['Location', 'OnPlayerJoined', 'OnPlayerLeft', 'Notification', 'PortalSpawn', 'Event']" :key="type" :label="type" :value="type")
el-input(v-model="gameLogTable.filters[1].value" placeholder="Search" style="flex:none;width:150px;margin:0 10px")
el-button(type="default" @click="resetGameLog()" icon="el-icon-refresh" circle style="flex:none")
el-table-column(type="expand")
@@ -184,7 +184,10 @@ html
el-table-column(label="Detail" prop="data")
template(v-once #default="scope")
location(v-if="scope.row.type === 'Location'" :location="scope.row.data[0]" :hint="scope.row.data[1]")
span.x-link(v-else-if="scope.row.type !== 'Notification'" v-text="scope.row.data" @click="lookupUser(scope.row.data)")
template(v-else-if="scope.row.type === 'Event'")
span(v-text="scope.row.data")
template(v-else-if="scope.row.type === 'Notification'")
span.x-link(v-else v-text="scope.row.data" @click="lookupUser(scope.row.data)")
//- search
.x-container(v-show="$refs.menu && $refs.menu.activeIndex === 'search'")
@@ -1510,6 +1513,12 @@ html
// div
// span.toggle-name Unmute
// toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestunmute" v-model="sharedFeedFilters.noty.unmute" class="toggle-switch")
div
span.toggle-name Portal Spawn
toggle-switch(:options="toggleSwitchOptionsEveryone" group="switchNotyGrouprequestPortalSpawn" v-model="sharedFeedFilters.noty.PortalSpawn" class="toggle-switch")
div
span.toggle-name Events
toggle-switch(:options="toggleSwitchOptionsOn" group="switchNotyGrouprequestEvent" v-model="sharedFeedFilters.noty.Event" class="toggle-switch")
template(#footer)
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
el-button(type="primary" size="small" style="margin-left:10px" @click="saveSharedFeedFilters") Save
@@ -1583,6 +1592,12 @@ html
// div
// span.toggle-name Unmute
// toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestunmute" v-model="sharedFeedFilters.wrist.unmute" class="toggle-switch")
div
span.toggle-name Portal Spawn
toggle-switch(:options="toggleSwitchOptionsEveryone" group="switchWristGrouprequestPortalSpawn" v-model="sharedFeedFilters.wrist.PortalSpawn" class="toggle-switch")
div
span.toggle-name Events
toggle-switch(:options="toggleSwitchOptionsOn" group="switchWristGrouprequestEvent" v-model="sharedFeedFilters.wrist.Event" class="toggle-switch")
template(#footer)
el-button(type="small" @click="cancelSharedFeedFilters") Cancel
el-button(type="primary" size="small" @click="saveSharedFeedFilters") Save

View File

@@ -28,6 +28,14 @@ function parseRawGameLog(dt, type, args) {
gameLog.json = args[0];
break;
case 'portal-spawn':
gameLog.userDisplayName = args[0];
break;
case 'event':
gameLog.event = args[0];
break;
default:
break;
}

View File

@@ -952,6 +952,12 @@ speechSynthesis.getVoices();
case 'unmute':
text = `<strong>${noty.sourceDisplayName}</strong> has unmuted you`;
break;
case 'PortalSpawn':
text = `<strong>${noty.data}</strong> has spawned a portal`;
break;
case 'Event':
text = noty.data;
break;
default:
break;
}

View File

@@ -117,17 +117,27 @@ html
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| 🛑 #[span.name(v-text="feed.sourceDisplayName")] has blocked you
| 🛑 #[span.name(v-text="feed.sourceDisplayName")]
div(v-else-if="feed.type === 'mute'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| 🔇 #[span.name(v-text="feed.sourceDisplayName")] has muted you
| 🔇 #[span.name(v-text="feed.sourceDisplayName")]
div(v-else-if="feed.type === 'unmute'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| 🎤 #[span.name(v-text="feed.sourceDisplayName")] has unmuted you
| 🎤 #[span.name(v-text="feed.sourceDisplayName")]
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| ✨ #[span.name(v-text="feed.data")]
div(v-else-if="feed.type === 'Event'" class="x-friend-item")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| 🛑 #[span.name(v-text="feed.data")]
template(v-else)
template(v-for="feed in wristFeed")
.x-friend-item(v-if="feed.type === 'GPS'" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
@@ -240,6 +250,16 @@ html
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| #[span.name(v-text="feed.sourceDisplayName")] has unmuted you
div(v-else-if="feed.type === 'PortalSpawn'" class="x-friend-item" :class="{ friend: feed.isFriend, favorite: feed.isFavorite }")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| #[span.name(v-text="feed.data")] has spawned a portal
div(v-else-if="feed.type === 'Event'" class="x-friend-item")
.detail
span.extra
span.time {{ feed.created_at | formatDate('HH:MI') }}
| Event: #[span.name(v-text="feed.data")]
.x-containerbottom
div(style="display:flex;flex-direction:row")
template(v-if="devices.length")