Fix friend order restore

This commit is contained in:
Natsumi
2024-12-19 23:13:50 +13:00
parent a197b89739
commit e119b2edde
3 changed files with 32 additions and 22 deletions

View File

@@ -7083,6 +7083,10 @@ speechSynthesis.getVoices();
`VRCX_friendNumber_${currentUser.id}`,
0
);
var maxFriendLogNumber = await database.getMaxFriendLogNumber();
if (this.friendNumber < maxFriendLogNumber) {
this.friendNumber = maxFriendLogNumber;
}
var friendLogCurrentArray = await database.getFriendLogCurrent();
for (var friend of friendLogCurrentArray) {
@@ -16720,10 +16724,7 @@ speechSynthesis.getVoices();
var variant = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) {
var unityPackage = ref.unityPackages[i];
if (
unityPackage.variant &&
unityPackage.variant !== 'security'
) {
if (unityPackage.variant && unityPackage.variant !== 'security') {
continue;
}
if (

View File

@@ -17,7 +17,7 @@ export default class extends baseClass {
var lastUpdate = await configRepository.getString(
`VRCX_lastStoreTime_${API.currentUser.id}`
);
if (lastUpdate == -1) {
if (lastUpdate == -2) {
// this means the backup was already applied
return;
}
@@ -33,25 +33,25 @@ export default class extends baseClass {
} catch (err) {
console.error(err);
}
if (status) {
this.$message({
message: 'Friend order restored from backup',
type: 'success',
duration: 0,
showClose: true
});
} else if (this.friendLogTable.data.length > 0) {
this.$message({
message:
'No backup found, friend order partially restored from friendLog',
type: 'success',
duration: 0,
showClose: true
});
}
// if (status) {
// this.$message({
// message: 'Friend order restored from backup',
// type: 'success',
// duration: 0,
// showClose: true
// });
// } else if (this.friendLogTable.data.length > 0) {
// this.$message({
// message:
// 'No backup found, friend order partially restored from friendLog',
// type: 'success',
// duration: 0,
// showClose: true
// });
// }
await configRepository.setString(
`VRCX_lastStoreTime_${API.currentUser.id}`,
-1
-2
);
},
@@ -192,6 +192,7 @@ export default class extends baseClass {
friendRef.ref.$friendNumber = ref.friendNumber;
}
}
this.friendNumber = this.friends.size;
console.log('Applied friend order from friendLog');
},

View File

@@ -378,6 +378,14 @@ class Database {
);
}
async getMaxFriendLogNumber() {
var friendNumber = 0;
await sqliteService.execute((dbRow) => {
friendNumber = dbRow[0];
}, `SELECT MAX(friend_number) FROM ${Database.userPrefix}_friend_log_current`);
return friendNumber;
}
async getFriendLogHistory() {
var friendLogHistory = [];
await sqliteService.execute((dbRow) => {