Small changes

Add "friends in instance" to invite dialog
Change XS notification height depending on text length
Attempt to fetch userId's for users in current instance
Add user dialog friend history tooltip
This commit is contained in:
Natsumi
2023-10-27 23:34:48 +13:00
parent e93b83fd10
commit 6ba1856a7a
5 changed files with 205 additions and 90 deletions
+12 -1
View File
@@ -24,12 +24,23 @@ namespace VRCX
icon = "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHaGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTA0LTA4VDE0OjU3OjAxKzEyOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wNC0wOFQxNjozMzoxMCsxMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wNC0wOFQxNjozMzoxMCsxMjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2YTY5MmQzYi03ZTJkLTNiNGUtYTMzZC1hN2MwOTNlOGU0OTkiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1NTE2MWIyMi1hYzgxLTY3NDYtODAyYi1kODIzYWFmN2RjYjciIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZjJjNTA2ZS02YTVhLWRhNGEtOTg5Mi02NDZiMzQ0MGQxZTgiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NmJmOGE5MTgtY2QzZS03OTRjLTk3NzktMzM0YjYwZWJiNTYyPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2YyYzUwNmUtNmE1YS1kYTRhLTk4OTItNjQ2YjM0NDBkMWU4IiBzdEV2dDp3aGVuPSIyMDIxLTA0LTA4VDE0OjU3OjAxKzEyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmJhM2ZjODI3LTM0ZjQtYjU0OC05ZGFiLTZhMTZlZmQzZjAxMSIgc3RFdnQ6d2hlbj0iMjAyMS0wNC0wOFQxNTowMTozMSsxMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YTY5MmQzYi03ZTJkLTNiNGUtYTMzZC1hN2MwOTNlOGU0OTkiIHN0RXZ0OndoZW49IjIwMjEtMDQtMDhUMTY6MzM6MTArMTI6MDAiIHN0RXZ0OnNv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";
}
var height = 110f;
if (content.Length > 100) {
height += 90f;
}
if (content.Length > 200) {
height += 75f;
}
if (content.Length > 300) {
height += 155f;
}
var msg = new XSOMessage
{
messageType = 1,
title = title,
content = content,
height = 110f,
height = height,
sourceApp = "VRCX",
timeout = timeout,
audioPath = string.Empty,
+99 -77
View File
@@ -355,7 +355,8 @@ namespace VRCX
logContext.RecentWorldName
});
logContext.onJoinPhotonDisplayName = string.Empty;
// logContext.onJoinPhotonDisplayName = string.Empty;
// logContext.onJoinPhotonDisplayNameDate = string.Empty;
logContext.LastAudioDevice = string.Empty;
logContext.LastVideoError = string.Empty;
logContext.locationDestination = string.Empty;
@@ -457,8 +458,6 @@ namespace VRCX
userDisplayName
});
logContext.onJoinPhotonDisplayName = userDisplayName;
return true;
}
@@ -798,79 +797,103 @@ namespace VRCX
return true;
}
private bool ParseLogPhotonId(FileInfo fileInfo, LogContext logContext, string line, int offset)
{
// 2021.11.02 02:21:41 Log - [Behaviour] Configuring remote player VRCPlayer[Remote] 22349737 1194
// 2021.11.02 02:21:41 Log - [Behaviour] Initialized player Natsumi-sama
// 2021.11.10 08:10:28 Log - [Behaviour] Initialize Limb Avatar (UnityEngine.Animator) VRCPlayer[Remote] 78614426 59 (DŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDžDŽDžDžDžDŽDŽDŽDžDŽDŽDžDžDŽDžDžDŽDžDžDŽDžDžDžDžDŽDžDŽDžDŽDŽDŽDŽDž) False Loading
// 2021.11.10 08:57:32 Log - [Behaviour] Initialize Limb Avatar (UnityEngine.Animator) VRCPlayer[Local] 59136629 1 (DŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDžDŽDžDžDžDŽDŽDŽDžDŽDŽDžDžDŽDžDžDŽDžDžDŽDžDžDžDžDŽDžDŽDžDŽDŽDŽDŽDž) True Loading
// 2022.03.05 11:29:16 Log - [Behaviour] Initialize ThreePoint Avatar (UnityEngine.Animator) VRCPlayer[Local] 50608765 1 (DŽDžDŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDŽDŽDžDŽDŽDŽDžDŽDžDŽDžDžDŽDŽDŽDŽDžDžDŽDŽDŽDŽDžDžDŽDŽDžDŽDŽDžDž) True Custom
if (line.Contains("] Initialize ") && line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer["))
{
var pos = -1;
if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] "))
{
pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] ");
pos += 49;
}
if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Local] "))
{
pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Local] ");
pos += 48;
}
if (pos < 0)
return false;
if (!string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName))
{
var endPos = line.LastIndexOf(" (");
var photonId = line.Substring(pos + 9, endPos - (pos + 9));
AppendLog(new[]
{
fileInfo.Name,
ConvertLogTimeToISO8601(line),
"photon-id",
logContext.onJoinPhotonDisplayName,
photonId
});
logContext.onJoinPhotonDisplayName = string.Empty;
return true;
}
}
if (line.Contains(": 3 Point IK") || line.Contains(": Limb IK"))
{
var lineOffset = line.IndexOf("] ");
if (lineOffset < 0)
return true;
lineOffset += 2;
if (line.Contains(": 3 Point IK"))
{
var endPos = line.LastIndexOf(": 3 Point IK");
logContext.onJoinPhotonDisplayName = line.Substring(lineOffset, endPos - lineOffset);
return true;
}
if (line.Contains(": Limb IK"))
{
var endPos = line.LastIndexOf(": Limb IK");
logContext.onJoinPhotonDisplayName = line.Substring(lineOffset, endPos - lineOffset);
return true;
}
}
return false;
}
//
// private bool ParseLogPhotonId(FileInfo fileInfo, LogContext logContext, string line, int offset)
// {
// // 2021.11.02 02:21:41 Log - [Behaviour] Configuring remote player VRCPlayer[Remote] 22349737 1194
// // 2021.11.02 02:21:41 Log - [Behaviour] Initialized player Natsumi-sama
//
// // 2021.11.10 08:10:28 Log - [Behaviour] Initialize Limb Avatar (UnityEngine.Animator) VRCPlayer[Remote] 78614426 59 (DŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDžDŽDžDžDžDŽDŽDŽDžDŽDŽDžDžDŽDžDžDŽDžDžDŽDžDžDžDžDŽDžDŽDžDŽDŽDŽDŽDž) False Loading
// // 2021.11.10 08:57:32 Log - [Behaviour] Initialize Limb Avatar (UnityEngine.Animator) VRCPlayer[Local] 59136629 1 (DŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDžDŽDžDžDžDŽDŽDŽDžDŽDŽDžDžDŽDžDžDŽDžDžDŽDžDžDžDžDŽDžDŽDžDŽDŽDŽDŽDž) True Loading
//
// // 2022.03.05 11:29:16 Log - [Behaviour] Initialize ThreePoint Avatar (UnityEngine.Animator) VRCPlayer[Local] 50608765 1 (DŽDžDŽDŽDŽDžDŽDžDžDŽDžDŽDŽDžDžDŽDŽDŽDžDŽDŽDŽDžDŽDžDŽDžDžDŽDŽDŽDŽDžDžDŽDŽDŽDŽDžDžDŽDŽDžDŽDŽDžDž) True Custom
//
// if (line.Contains("] Initialize ") && line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer["))
// {
// var pos = -1;
//
// if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] "))
// {
// pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] ");
// pos += 49;
// }
//
// if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Local] "))
// {
// pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Local] ");
// pos += 48;
// }
//
// if (pos < 0)
// return false;
//
// if (!string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName))
// {
// var endPos = line.LastIndexOf(" (");
// var photonId = line.Substring(pos + 9, endPos - (pos + 9));
//
// AppendLog(new[]
// {
// fileInfo.Name,
// ConvertLogTimeToISO8601(line),
// "photon-id",
// logContext.onJoinPhotonDisplayName,
// photonId
// });
// logContext.onJoinPhotonDisplayName = string.Empty;
//
// return true;
// }
// }
//
// if (line.Contains("[Behaviour] Initialized player "))
// {
// var pos = line.LastIndexOf("[Behaviour] Initialized player ");
// if (pos < 0)
// return false;
//
// pos += 31;
// if (pos >= line.Length)
// return false;
//
// var displayName = line.Substring(pos, line.Length - pos);
// logContext.onJoinPhotonDisplayName = displayName;
// logContext.onJoinPhotonDisplayNameDate = ConvertLogTimeToISO8601(line);
//
// return true;
// }
//
// if (line.Contains("[Behaviour] Configuring remote player VRCPlayer[Remote] "))
// {
// if (string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName) ||
// logContext.onJoinPhotonDisplayNameDate != ConvertLogTimeToISO8601(line))
// return false;
//
// var pos = line.LastIndexOf("[Behaviour] Configuring remote player VRCPlayer[Remote] ");
// if (pos < 0)
// return false;
//
// pos += 56;
// var startPos = pos + 9;
// var length = line.Length - startPos;
// var photonId = line.Substring(startPos, length);
//
// AppendLog(new[]
// {
// fileInfo.Name,
// ConvertLogTimeToISO8601(line),
// "photon-id",
// logContext.onJoinPhotonDisplayName,
// photonId
// });
// logContext.onJoinPhotonDisplayName = string.Empty;
// logContext.onJoinPhotonDisplayNameDate = string.Empty;
//
// return true;
// }
//
// return false;
// }
private bool ParseLogOnAudioConfigurationChanged(FileInfo fileInfo, LogContext logContext, string line, int offset)
{
@@ -1162,7 +1185,6 @@ namespace VRCX
public string LastVideoError;
public long Length;
public string locationDestination;
public string onJoinPhotonDisplayName;
public long Position;
public string RecentWorldName;
public bool ShaderKeywordsLimitReached;
+74 -8
View File
@@ -9599,6 +9599,7 @@ speechSynthesis.getVoices();
};
database.updateGamelogLocationTimeToDatabase(update);
}
this.gameLogApiLoggingEnabled = false;
this.lastLocationDestination = '';
this.lastLocationDestinationTime = 0;
this.lastLocation = {
@@ -9871,6 +9872,7 @@ speechSynthesis.getVoices();
$app.data.lastLocationDestinationTime = 0;
$app.data.lastVideoUrl = '';
$app.data.lastResourceloadUrl = '';
$app.data.gameLogApiLoggingEnabled = false;
$app.methods.addGameLogEntry = function (gameLog, location) {
if (this.gameLogDisabled) {
@@ -9976,8 +9978,18 @@ speechSynthesis.getVoices();
database
.getUserIdFromDisplayName(gameLog.displayName)
.then((oldUserId) => {
if (oldUserId && this.isGameRunning) {
API.getUser({ userId: oldUserId });
if (this.isGameRunning) {
if (oldUserId) {
API.getUser({ userId: oldUserId });
} else if (Date.now() - joinTime < 5 * 1000) {
workerTimers.setTimeout(
() =>
this.silentSeachUser(
gameLog.displayName
),
10 * 1000
);
}
}
});
}
@@ -10130,8 +10142,11 @@ speechSynthesis.getVoices();
} catch (err) {
console.error(err);
}
if (userId && !API.cachedUsers.has(userId)) {
API.getUser({ userId });
if (userId) {
this.gameLogApiLoggingEnabled = true;
if (!API.cachedUsers.has(userId)) {
API.getUser({ userId });
}
}
break;
case 'vrcx':
@@ -10244,6 +10259,39 @@ speechSynthesis.getVoices();
}
};
$app.methods.silentSeachUser = function (displayName) {
var playerListRef = this.lastLocation.playerList.get(displayName);
if (!this.gameLogApiLoggingEnabled || playerListRef.userId) {
return;
}
if (this.debugGameLog) {
console.log('Fetching userId for', displayName);
}
var params = {
n: 5,
offset: 0,
fuzzy: false,
search: displayName
};
API.getUsers(params).then((args) => {
var map = new Map();
var nameFound = false;
for (var json of args.json) {
var ref = API.cachedUsers.get(json.id);
if (typeof ref !== 'undefined') {
map.set(ref.id, ref);
}
if (json.displayName === displayName) {
nameFound = true;
}
}
if (!nameFound) {
console.error('userId not found for', displayName);
}
return args;
});
};
$app.methods.addGamelogLocationToDatabase = async function (input) {
var groupName = await this.getGroupName(input.location);
var entry = {
@@ -12742,7 +12790,7 @@ speechSynthesis.getVoices();
n: 10,
offset: 0,
fuzzy: false,
search: this.replaceBioSymbols(displayName)
search: displayName
};
await this.moreSearchUser();
};
@@ -12751,7 +12799,7 @@ speechSynthesis.getVoices();
this.searchUserParams = {
n: 10,
offset: 0,
search: this.replaceBioSymbols(this.searchText)
search: this.searchText
};
await this.moreSearchUser();
};
@@ -15927,7 +15975,8 @@ speechSynthesis.getVoices();
avatarModeration: 0,
previousDisplayNames: [],
dateFriended: '',
unFriended: false
unFriended: false,
dateFriendedInfo: []
};
$app.data.ignoreUserMemoSave = false;
@@ -16208,6 +16257,7 @@ speechSynthesis.getVoices();
D.previousDisplayNames = [];
D.dateFriended = '';
D.unFriended = false;
D.dateFriendedInfo = [];
if (userId === API.currentUser.id) {
this.getWorldName(API.currentUser.homeLocation).then(
(worldName) => {
@@ -16349,6 +16399,12 @@ speechSynthesis.getVoices();
ref2.created_at;
}
}
if (
ref2.type === 'Friend' ||
ref2.type === 'Unfriend'
) {
D.dateFriendedInfo.push(ref2);
}
}
});
var displayNameMapSorted = new Map(
@@ -18621,7 +18677,8 @@ speechSynthesis.getVoices();
loading: false,
worldId: '',
worldName: '',
userIds: []
userIds: [],
friendsInInstance: []
};
API.$on('LOGOUT', function () {
@@ -18697,6 +18754,15 @@ speechSynthesis.getVoices();
D.userIds = [];
D.worldId = L.tag;
D.worldName = args.ref.name;
D.friendsInInstance = [];
for (var ctx of this.friends.values()) {
if (typeof ctx.ref === 'undefined') {
continue;
}
if (ctx.ref.location === this.lastLocation.location) {
D.friendsInInstance.push(ctx);
}
}
D.visible = true;
});
};
+18 -3
View File
@@ -431,9 +431,16 @@ html
span.name {{ $t('dialog.user.info.date_joined') }}
span.extra(v-text="userDialog.ref.date_joined")
.x-friend-item(v-if="API.currentUser.id !== userDialog.id" style="cursor:default")
.detail
span.name(v-if="userDialog.unFriended") {{ $t('dialog.user.info.unfriended') }}
el-tooltip(v-if="!hideTooltips" placement="top" style="margin-left:5px" :content="$t('dialog.user.info.accuracy_notice')")
el-tooltip(placement="top")
template(#content v-if="userDialog.dateFriendedInfo.length")
template(v-for="ref in userDialog.dateFriendedInfo")
span {{ ref.type }}: {{ ref.created_at | formatDate('long') }}
br
template(#content v-else)
span -
.detail
span.name(v-if="userDialog.unFriended") {{ $t('dialog.user.info.unfriended') }}
el-tooltip(v-if="!hideTooltips" placement="top" style="margin-left:5px" :content="$t('dialog.user.info.accuracy_notice')")
i.el-icon-warning
span.name(v-else) {{ $t('dialog.user.info.friended') }}
el-tooltip(v-if="!hideTooltips" placement="top" style="margin-left:5px" :content="$t('dialog.user.info.accuracy_notice')")
@@ -1216,6 +1223,14 @@ html
img(v-lazy="userImage(API.currentUser)")
.detail
span.name(v-text="API.currentUser.displayName")
el-option-group(v-if="inviteDialog.friendsInInstance.length" :label="$t('dialog.invite.friends_in_instance')")
el-option.x-friend-item(v-for="friend in inviteDialog.friendsInInstance" :key="friend.id" :label="friend.name" :value="friend.id" style="height:auto")
template(v-if="friend.ref")
.avatar(:class="userStatusClass(friend.ref)")
img(v-lazy="userImage(friend.ref)")
.detail
span.name(v-text="friend.ref.displayName" :style="{'color':friend.ref.$userColour}")
span(v-else v-text="friend.id")
el-option-group(v-if="friendsGroup0.length" :label="$t('side_panel.favorite')")
el-option.x-friend-item(v-for="friend in friendsGroup0" :key="friend.id" :label="friend.name" :value="friend.id" style="height:auto")
template(v-if="friend.ref")
+2 -1
View File
@@ -868,7 +868,8 @@
"header": "Invite",
"select_placeholder": "Choose Friends",
"invite_with_message": "Invite With Message",
"invite": "Invite"
"invite": "Invite",
"friends_in_instance": "Friends In Instance"
},
"social_status": {
"header": "Social Status",