Updates and fixes

This commit is contained in:
Natsumi
2022-01-25 21:39:47 +13:00
parent 85373b9032
commit 6e80180763
4 changed files with 112 additions and 45 deletions

View File

@@ -110,7 +110,7 @@ speechSynthesis.getVoices();
this.Set(key, JSON.stringify(value)); this.Set(key, JSON.stringify(value));
}; };
setInterval(function () { workerTimers.setInterval(function () {
VRCXStorage.Flush(); VRCXStorage.Flush();
}, 5 * 60 * 1000); }, 5 * 60 * 1000);
@@ -3966,7 +3966,7 @@ speechSynthesis.getVoices();
} }
}); });
setInterval(function () { workerTimers.setInterval(function () {
for (var $timer of $timers) { for (var $timer of $timers) {
$timer.update(); $timer.update();
} }
@@ -4024,7 +4024,7 @@ speechSynthesis.getVoices();
} }
}); });
setInterval(function () { workerTimers.setInterval(function () {
for (var $countDownTimer of $countDownTimers) { for (var $countDownTimer of $countDownTimers) {
$countDownTimer.update(); $countDownTimer.update();
} }
@@ -7606,7 +7606,6 @@ speechSynthesis.getVoices();
this.moderationEventQueue = new Map(); this.moderationEventQueue = new Map();
this.lastPortalId = ''; this.lastPortalId = '';
this.lastPortalList = new Map(); this.lastPortalList = new Map();
this.portalQueue = '';
if (this.photonEventTable.data.length > 0) { if (this.photonEventTable.data.length > 0) {
this.photonEventTablePrevious.data = this.photonEventTable.data; this.photonEventTablePrevious.data = this.photonEventTable.data;
this.photonEventTable.data = []; this.photonEventTable.data = [];
@@ -7988,20 +7987,7 @@ speechSynthesis.getVoices();
database.addGamelogJoinLeaveToDatabase(entry); database.addGamelogJoinLeaveToDatabase(entry);
break; break;
case 'portal-spawn': case 'portal-spawn':
if (this.portalQueue === 'skip') { if (this.ipcEnabled && this.isGameRunning) {
this.portalQueue = '';
return;
} else if (this.portalQueue && gameLog.userDisplayName) {
var ref = {
id: userId,
displayName: gameLog.userDisplayName
};
this.parsePhotonPortalSpawn(
gameLog.dt,
this.portalQueue,
ref
);
this.portalQueue = '';
return; return;
} }
var entry = { var entry = {
@@ -8101,7 +8087,6 @@ speechSynthesis.getVoices();
'https://gist.github.com/Natsumi-sama/d280a58f08ace3da0e8fc7a9a381d44e'; 'https://gist.github.com/Natsumi-sama/d280a58f08ace3da0e8fc7a9a381d44e';
$app.data.lastPortalId = ''; $app.data.lastPortalId = '';
$app.data.lastPortalList = new Map(); $app.data.lastPortalList = new Map();
$app.data.portalQueue = '';
$app.data.moderationEventQueue = new Map(); $app.data.moderationEventQueue = new Map();
$app.data.moderationAgainstTable = []; $app.data.moderationAgainstTable = [];
$app.data.photonLobby = new Map(); $app.data.photonLobby = new Map();
@@ -8750,14 +8735,11 @@ speechSynthesis.getVoices();
id: this.getUserIdFromPhotonId(senderId), id: this.getUserIdFromPhotonId(senderId),
displayName displayName
}; };
this.portalQueue = 'skip';
this.parsePhotonPortalSpawn( this.parsePhotonPortalSpawn(
gameLogDate, gameLogDate,
instanceId, instanceId,
ref1 ref1
); );
} else {
this.portalQueue = instanceId;
} }
return; return;
} else if (eventData.Type > 34) { } else if (eventData.Type > 34) {
@@ -8794,11 +8776,9 @@ speechSynthesis.getVoices();
} else { } else {
var eventVrc = ''; var eventVrc = '';
if (eventData.Data) { if (eventData.Data) {
if (Array.isArray(eventData.Data)) { eventVrc = ` ${JSON.stringify(
eventVrc = ` ${eventData.Data.toString()}`; eventData.Data
} else { ).replace(/"([^(")"]+)":/g, '$1:')}`;
eventVrc = ` ${eventData.Data}`;
}
} }
var text = `${eventData.EventType}${eventVrc}`; var text = `${eventData.EventType}${eventVrc}`;
} }
@@ -9128,9 +9108,14 @@ speechSynthesis.getVoices();
oldAvatarId !== avatar.id && oldAvatarId !== avatar.id &&
user.id !== API.currentUser.id user.id !== API.currentUser.id
) { ) {
var entry = { this.checkVRChatCache(avatar).then((cacheInfo) => {
created_at: new Date().toJSON(), var inCache = false;
type: 'AvatarChange', if (cacheInfo[0] > 0) {
inCache = true;
}
var entry = {
created_at: new Date().toJSON(),
type: 'AvatarChange',
userId: user.id, userId: user.id,
displayName: user.displayName, displayName: user.displayName,
name: avatar.name, name: avatar.name,
@@ -9146,10 +9131,12 @@ speechSynthesis.getVoices();
this.addEntryPhotonEvent({ this.addEntryPhotonEvent({
photonId, photonId,
displayName: user.displayName, displayName: user.displayName,
userId: user.id, userId: user.id,
text: `ChangeAvatar ${avatar.name}`, text: `ChangeAvatar ${avatar.name}`,
created_at: gameLogDate, created_at: gameLogDate,
avatar avatar,
inCache
});
}); });
} }
this.photonLobbyAvatars.set(user.id, avatar.id); this.photonLobbyAvatars.set(user.id, avatar.id);
@@ -9184,7 +9171,7 @@ speechSynthesis.getVoices();
var videoName = ''; var videoName = '';
var videoLength = ''; var videoLength = '';
var displayName = ''; var displayName = '';
var videoPos = 10; // video loading delay var videoPos = 8; // video loading delay
if (typeof gameLog.displayName !== 'undefined') { if (typeof gameLog.displayName !== 'undefined') {
displayName = gameLog.displayName; displayName = gameLog.displayName;
} }
@@ -17305,6 +17292,69 @@ speechSynthesis.getVoices();
this.downloadVRChatCacheProgress(); this.downloadVRChatCacheProgress();
}; };
$app.methods.downloadVRChatCacheOldVersion = async function (
worldId,
oldAssetUrl
) {
var args = await API.getWorld({worldId});
var ref = args.json;
var latestAssetUrl = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) {
var unityPackage = ref.unityPackages[i];
if (
unityPackage.platform === 'standalonewindows' &&
this.compareUnityVersion(unityPackage.unityVersion) &&
!latestAssetUrl
) {
latestAssetUrl = unityPackage.assetUrl;
break;
}
}
if (latestAssetUrl === oldAssetUrl) {
console.log('File version is latest');
return;
}
var fileId = extractFileId(latestAssetUrl);
var fileVersion = parseInt(extractFileVersion(latestAssetUrl), 10);
var oldFileId = extractFileId(oldAssetUrl);
var oldFileVersion = parseInt(extractFileVersion(oldAssetUrl), 10);
if (!fileId) {
console.log('latestFileId invalid asset url');
return;
}
if (!oldFileId) {
console.log('oldFileId invalid asset url');
return;
}
var args = await API.getBundles(oldFileId);
var {versions} = args.json;
var file = '';
for (var i = versions.length - 1; i > -1; i--) {
var version = versions[i];
if (version.version === oldFileVersion) {
file = version.file;
break;
}
}
if (!file) {
console.log('Missing asset version');
return;
}
var {url, md5, sizeInBytes} = file;
var cacheDir = await this.getVRChatCacheDir();
await AssetBundleCacher.DeleteCache(cacheDir, fileId, fileVersion);
await AssetBundleCacher.DownloadCacheFile(
cacheDir,
url,
fileId,
fileVersion,
sizeInBytes,
md5,
appVersion,
false
);
};
$app.methods.cancelVRChatCacheDownload = function (location) { $app.methods.cancelVRChatCacheDownload = function (location) {
var L = API.parseLocation(location); var L = API.parseLocation(location);
if (L.worldId) { if (L.worldId) {
@@ -17465,7 +17515,8 @@ speechSynthesis.getVoices();
if ( if (
this.isGameRunning && this.isGameRunning &&
(this.downloadCurrent.type === 'Invite' || (this.downloadCurrent.type === 'Invite' ||
this.downloadCurrent.type === 'Portal') this.downloadCurrent.type === 'Portal' ||
this.downloadCurrent.type === 'Manual')
) { ) {
var entry = { var entry = {
created_at: new Date().toJSON(), created_at: new Date().toJSON(),

View File

@@ -1551,7 +1551,7 @@ html
.x-friend-list(style="margin-top:10px;min-height:60px") .x-friend-list(style="margin-top:10px;min-height:60px")
.x-friend-item(v-for="avatar in userDialogAvatars" @click="showAvatarDialog(avatar.id)" class="x-friend-item-border") .x-friend-item(v-for="avatar in userDialogAvatars" @click="showAvatarDialog(avatar.id)" class="x-friend-item-border")
.avatar .avatar
img(v-lazy="avatar.thumbnailImageUrl") img(v-if="avatar.thumbnailImageUrl" v-lazy="avatar.thumbnailImageUrl")
.detail .detail
span.name(v-text="avatar.name") span.name(v-text="avatar.name")
span.extra(v-text="avatar.releaseStatus" v-if="avatar.releaseStatus === 'public'" style="color: #67c23a;") span.extra(v-text="avatar.releaseStatus" v-if="avatar.releaseStatus === 'public'" style="color: #67c23a;")
@@ -2747,7 +2747,7 @@ html
span(v-text="scope.row.timer") span(v-text="scope.row.timer")
el-table-column(label="Action" width="60" align="right") el-table-column(label="Action" width="60" align="right")
template(v-once #default="scope") template(v-once #default="scope")
el-button(type="text" icon="el-icon-message" size="mini" @click="showLaunchDialog(scope.row.location)") el-button(type="text" icon="el-icon-info" size="mini" @click="showLaunchDialog(scope.row.location)")
el-button(type="text" icon="el-icon-close" size="mini" @click="confirmDeleteGameLogUserInstance(scope.row)") el-button(type="text" icon="el-icon-close" size="mini" @click="confirmDeleteGameLogUserInstance(scope.row)")
//- dialog Table: Previous Instances World //- dialog Table: Previous Instances World

View File

@@ -564,7 +564,7 @@ Vue.component('marquee-text', MarqueeText);
}; };
$app.methods.addEntryHudFeed = function (json) { $app.methods.addEntryHudFeed = function (json) {
var {displayName, text, color} = JSON.parse(json); var {displayName, text, color, avatar, inCache} = JSON.parse(json);
var combo = 1; var combo = 1;
this.hudFeed.forEach((item) => { this.hudFeed.forEach((item) => {
if (item.displayName === displayName && item.text === text) { if (item.displayName === displayName && item.text === text) {
@@ -577,7 +577,9 @@ Vue.component('marquee-text', MarqueeText);
displayName, displayName,
text, text,
combo, combo,
color color,
avatar,
inCache
}); });
this.cleanHudFeed(); this.cleanHudFeed();
}; };

View File

@@ -132,7 +132,12 @@ html
.detail .detail
span.extra span.extra
span.time {{ feed.created_at | formatDate }} span.time {{ feed.created_at | formatDate }}
| 🧍 #[span.name(v-text="feed.displayName")] {{ feed.name }} | 🧍 #[span.name(v-text="feed.displayName")]
template(v-if="feed.releaseStatus === 'public'")
| #[i.x-user-status.online]
template(v-else)
| #[i.x-user-status.askme]
| {{ feed.name }}
template(v-if="feed.description && feed.description !== feed.name") template(v-if="feed.description && feed.description !== feed.name")
| - {{ feed.description }} | - {{ feed.description }}
div(v-else-if="feed.type === 'Event'" class="x-friend-item") div(v-else-if="feed.type === 'Event'" class="x-friend-item")
@@ -295,7 +300,12 @@ html
.detail .detail
span.extra span.extra
span.time {{ feed.created_at | formatDate }} span.time {{ feed.created_at | formatDate }}
| #[span.name(v-text="feed.displayName")] changed into avatar {{ feed.name }} | #[span.name(v-text="feed.displayName")] changed into avatar
template(v-if="feed.releaseStatus === 'public'")
| #[i.x-user-status.online]
template(v-else)
| #[i.x-user-status.askme]
| {{ feed.name }}
template(v-if="feed.description && feed.description !== feed.name") template(v-if="feed.description && feed.description !== feed.name")
| - {{ feed.description }} | - {{ feed.description }}
div(v-else-if="feed.type === 'Event'" class="x-friend-item") div(v-else-if="feed.type === 'Event'" class="x-friend-item")
@@ -418,10 +428,14 @@ html
.hud-feed .hud-feed
div(v-for="feed in hudFeed") div(v-for="feed in hudFeed")
.item #[span(v-if="feed.isMaster") 👑]<strong>{{ feed.displayName }}</strong> .item #[span(v-if="feed.isMaster") 👑]<strong>{{ feed.displayName }}</strong>
span(v-if="feed.color === 'yellow'" style="color: yellow") {{ feed.text }} span(v-if="feed.avatar")
span(v-else) {{ feed.text }} span(style="margin-left:10px") ChangeAvatar
span(v-if="!feed.inCache" style="color:#aaa;margin-left:10px") #[i.el-icon-download]
span(v-text="feed.avatar.name" style="margin-left:10px")
span(v-else-if="feed.color === 'yellow'" style="color:yellow;margin-left:10px") {{ feed.text }}
span(v-else style="margin-left:10px") {{ feed.text }}
template(v-if="feed.combo > 1") template(v-if="feed.combo > 1")
span.combo x{{ feed.combo }} span.combo(style="margin-left:10px") x{{ feed.combo }}
.hud-timeout(v-if="hudTimeout.length > 0") .hud-timeout(v-if="hudTimeout.length > 0")
.hud-timeout-feed .hud-timeout-feed
div(v-for="feed in hudTimeout") div(v-for="feed in hudTimeout")