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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"; 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 var msg = new XSOMessage
{ {
messageType = 1, messageType = 1,
title = title, title = title,
content = content, content = content,
height = 110f, height = height,
sourceApp = "VRCX", sourceApp = "VRCX",
timeout = timeout, timeout = timeout,
audioPath = string.Empty, audioPath = string.Empty,
+99 -77
View File
@@ -355,7 +355,8 @@ namespace VRCX
logContext.RecentWorldName logContext.RecentWorldName
}); });
logContext.onJoinPhotonDisplayName = string.Empty; // logContext.onJoinPhotonDisplayName = string.Empty;
// logContext.onJoinPhotonDisplayNameDate = string.Empty;
logContext.LastAudioDevice = string.Empty; logContext.LastAudioDevice = string.Empty;
logContext.LastVideoError = string.Empty; logContext.LastVideoError = string.Empty;
logContext.locationDestination = string.Empty; logContext.locationDestination = string.Empty;
@@ -457,8 +458,6 @@ namespace VRCX
userDisplayName userDisplayName
}); });
logContext.onJoinPhotonDisplayName = userDisplayName;
return true; return true;
} }
@@ -798,79 +797,103 @@ namespace VRCX
return true; return true;
} }
//
private bool ParseLogPhotonId(FileInfo fileInfo, LogContext logContext, string line, int offset) // 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] Configuring remote player VRCPlayer[Remote] 22349737 1194
// 2021.11.02 02:21:41 Log - [Behaviour] Initialized player Natsumi-sama // // 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: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 // // 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 // // 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[")) // if (line.Contains("] Initialize ") && line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer["))
{ // {
var pos = -1; // var pos = -1;
//
if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] ")) // if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] "))
{ // {
pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] "); // pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Remote] ");
pos += 49; // pos += 49;
} // }
//
if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Local] ")) // if (line.Contains(" Avatar (UnityEngine.Animator) VRCPlayer[Local] "))
{ // {
pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Local] "); // pos = line.LastIndexOf(" Avatar (UnityEngine.Animator) VRCPlayer[Local] ");
pos += 48; // pos += 48;
} // }
//
if (pos < 0) // if (pos < 0)
return false; // return false;
//
if (!string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName)) // if (!string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName))
{ // {
var endPos = line.LastIndexOf(" ("); // var endPos = line.LastIndexOf(" (");
var photonId = line.Substring(pos + 9, endPos - (pos + 9)); // var photonId = line.Substring(pos + 9, endPos - (pos + 9));
//
AppendLog(new[] // AppendLog(new[]
{ // {
fileInfo.Name, // fileInfo.Name,
ConvertLogTimeToISO8601(line), // ConvertLogTimeToISO8601(line),
"photon-id", // "photon-id",
logContext.onJoinPhotonDisplayName, // logContext.onJoinPhotonDisplayName,
photonId // photonId
}); // });
logContext.onJoinPhotonDisplayName = string.Empty; // logContext.onJoinPhotonDisplayName = string.Empty;
//
return true; // return true;
} // }
} // }
//
if (line.Contains(": 3 Point IK") || line.Contains(": Limb IK")) // if (line.Contains("[Behaviour] Initialized player "))
{ // {
var lineOffset = line.IndexOf("] "); // var pos = line.LastIndexOf("[Behaviour] Initialized player ");
if (lineOffset < 0) // if (pos < 0)
return true; // return false;
lineOffset += 2; //
// pos += 31;
if (line.Contains(": 3 Point IK")) // if (pos >= line.Length)
{ // return false;
var endPos = line.LastIndexOf(": 3 Point IK"); //
logContext.onJoinPhotonDisplayName = line.Substring(lineOffset, endPos - lineOffset); // var displayName = line.Substring(pos, line.Length - pos);
return true; // logContext.onJoinPhotonDisplayName = displayName;
} // logContext.onJoinPhotonDisplayNameDate = ConvertLogTimeToISO8601(line);
//
if (line.Contains(": Limb IK")) // return true;
{ // }
var endPos = line.LastIndexOf(": Limb IK"); //
logContext.onJoinPhotonDisplayName = line.Substring(lineOffset, endPos - lineOffset); // if (line.Contains("[Behaviour] Configuring remote player VRCPlayer[Remote] "))
return true; // {
} // if (string.IsNullOrEmpty(logContext.onJoinPhotonDisplayName) ||
} // logContext.onJoinPhotonDisplayNameDate != ConvertLogTimeToISO8601(line))
// return false;
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) private bool ParseLogOnAudioConfigurationChanged(FileInfo fileInfo, LogContext logContext, string line, int offset)
{ {
@@ -1162,7 +1185,6 @@ namespace VRCX
public string LastVideoError; public string LastVideoError;
public long Length; public long Length;
public string locationDestination; public string locationDestination;
public string onJoinPhotonDisplayName;
public long Position; public long Position;
public string RecentWorldName; public string RecentWorldName;
public bool ShaderKeywordsLimitReached; public bool ShaderKeywordsLimitReached;
+74 -8
View File
@@ -9599,6 +9599,7 @@ speechSynthesis.getVoices();
}; };
database.updateGamelogLocationTimeToDatabase(update); database.updateGamelogLocationTimeToDatabase(update);
} }
this.gameLogApiLoggingEnabled = false;
this.lastLocationDestination = ''; this.lastLocationDestination = '';
this.lastLocationDestinationTime = 0; this.lastLocationDestinationTime = 0;
this.lastLocation = { this.lastLocation = {
@@ -9871,6 +9872,7 @@ speechSynthesis.getVoices();
$app.data.lastLocationDestinationTime = 0; $app.data.lastLocationDestinationTime = 0;
$app.data.lastVideoUrl = ''; $app.data.lastVideoUrl = '';
$app.data.lastResourceloadUrl = ''; $app.data.lastResourceloadUrl = '';
$app.data.gameLogApiLoggingEnabled = false;
$app.methods.addGameLogEntry = function (gameLog, location) { $app.methods.addGameLogEntry = function (gameLog, location) {
if (this.gameLogDisabled) { if (this.gameLogDisabled) {
@@ -9976,8 +9978,18 @@ speechSynthesis.getVoices();
database database
.getUserIdFromDisplayName(gameLog.displayName) .getUserIdFromDisplayName(gameLog.displayName)
.then((oldUserId) => { .then((oldUserId) => {
if (oldUserId && this.isGameRunning) { if (this.isGameRunning) {
API.getUser({ userId: oldUserId }); 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) { } catch (err) {
console.error(err); console.error(err);
} }
if (userId && !API.cachedUsers.has(userId)) { if (userId) {
API.getUser({ userId }); this.gameLogApiLoggingEnabled = true;
if (!API.cachedUsers.has(userId)) {
API.getUser({ userId });
}
} }
break; break;
case 'vrcx': 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) { $app.methods.addGamelogLocationToDatabase = async function (input) {
var groupName = await this.getGroupName(input.location); var groupName = await this.getGroupName(input.location);
var entry = { var entry = {
@@ -12742,7 +12790,7 @@ speechSynthesis.getVoices();
n: 10, n: 10,
offset: 0, offset: 0,
fuzzy: false, fuzzy: false,
search: this.replaceBioSymbols(displayName) search: displayName
}; };
await this.moreSearchUser(); await this.moreSearchUser();
}; };
@@ -12751,7 +12799,7 @@ speechSynthesis.getVoices();
this.searchUserParams = { this.searchUserParams = {
n: 10, n: 10,
offset: 0, offset: 0,
search: this.replaceBioSymbols(this.searchText) search: this.searchText
}; };
await this.moreSearchUser(); await this.moreSearchUser();
}; };
@@ -15927,7 +15975,8 @@ speechSynthesis.getVoices();
avatarModeration: 0, avatarModeration: 0,
previousDisplayNames: [], previousDisplayNames: [],
dateFriended: '', dateFriended: '',
unFriended: false unFriended: false,
dateFriendedInfo: []
}; };
$app.data.ignoreUserMemoSave = false; $app.data.ignoreUserMemoSave = false;
@@ -16208,6 +16257,7 @@ speechSynthesis.getVoices();
D.previousDisplayNames = []; D.previousDisplayNames = [];
D.dateFriended = ''; D.dateFriended = '';
D.unFriended = false; D.unFriended = false;
D.dateFriendedInfo = [];
if (userId === API.currentUser.id) { if (userId === API.currentUser.id) {
this.getWorldName(API.currentUser.homeLocation).then( this.getWorldName(API.currentUser.homeLocation).then(
(worldName) => { (worldName) => {
@@ -16349,6 +16399,12 @@ speechSynthesis.getVoices();
ref2.created_at; ref2.created_at;
} }
} }
if (
ref2.type === 'Friend' ||
ref2.type === 'Unfriend'
) {
D.dateFriendedInfo.push(ref2);
}
} }
}); });
var displayNameMapSorted = new Map( var displayNameMapSorted = new Map(
@@ -18621,7 +18677,8 @@ speechSynthesis.getVoices();
loading: false, loading: false,
worldId: '', worldId: '',
worldName: '', worldName: '',
userIds: [] userIds: [],
friendsInInstance: []
}; };
API.$on('LOGOUT', function () { API.$on('LOGOUT', function () {
@@ -18697,6 +18754,15 @@ speechSynthesis.getVoices();
D.userIds = []; D.userIds = [];
D.worldId = L.tag; D.worldId = L.tag;
D.worldName = args.ref.name; 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; D.visible = true;
}); });
}; };
+18 -3
View File
@@ -431,9 +431,16 @@ html
span.name {{ $t('dialog.user.info.date_joined') }} span.name {{ $t('dialog.user.info.date_joined') }}
span.extra(v-text="userDialog.ref.date_joined") span.extra(v-text="userDialog.ref.date_joined")
.x-friend-item(v-if="API.currentUser.id !== userDialog.id" style="cursor:default") .x-friend-item(v-if="API.currentUser.id !== userDialog.id" style="cursor:default")
.detail el-tooltip(placement="top")
span.name(v-if="userDialog.unFriended") {{ $t('dialog.user.info.unfriended') }} template(#content v-if="userDialog.dateFriendedInfo.length")
el-tooltip(v-if="!hideTooltips" placement="top" style="margin-left:5px" :content="$t('dialog.user.info.accuracy_notice')") 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 i.el-icon-warning
span.name(v-else) {{ $t('dialog.user.info.friended') }} 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')") 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)") img(v-lazy="userImage(API.currentUser)")
.detail .detail
span.name(v-text="API.currentUser.displayName") 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-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") 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") template(v-if="friend.ref")
+2 -1
View File
@@ -868,7 +868,8 @@
"header": "Invite", "header": "Invite",
"select_placeholder": "Choose Friends", "select_placeholder": "Choose Friends",
"invite_with_message": "Invite With Message", "invite_with_message": "Invite With Message",
"invite": "Invite" "invite": "Invite",
"friends_in_instance": "Friends In Instance"
}, },
"social_status": { "social_status": {
"header": "Social Status", "header": "Social Status",