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
+5 -4
View File
@@ -7083,6 +7083,10 @@ speechSynthesis.getVoices();
`VRCX_friendNumber_${currentUser.id}`, `VRCX_friendNumber_${currentUser.id}`,
0 0
); );
var maxFriendLogNumber = await database.getMaxFriendLogNumber();
if (this.friendNumber < maxFriendLogNumber) {
this.friendNumber = maxFriendLogNumber;
}
var friendLogCurrentArray = await database.getFriendLogCurrent(); var friendLogCurrentArray = await database.getFriendLogCurrent();
for (var friend of friendLogCurrentArray) { for (var friend of friendLogCurrentArray) {
@@ -16720,10 +16724,7 @@ speechSynthesis.getVoices();
var variant = ''; var variant = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) { for (var i = ref.unityPackages.length - 1; i > -1; i--) {
var unityPackage = ref.unityPackages[i]; var unityPackage = ref.unityPackages[i];
if ( if (unityPackage.variant && unityPackage.variant !== 'security') {
unityPackage.variant &&
unityPackage.variant !== 'security'
) {
continue; continue;
} }
if ( if (
+19 -18
View File
@@ -17,7 +17,7 @@ export default class extends baseClass {
var lastUpdate = await configRepository.getString( var lastUpdate = await configRepository.getString(
`VRCX_lastStoreTime_${API.currentUser.id}` `VRCX_lastStoreTime_${API.currentUser.id}`
); );
if (lastUpdate == -1) { if (lastUpdate == -2) {
// this means the backup was already applied // this means the backup was already applied
return; return;
} }
@@ -33,25 +33,25 @@ export default class extends baseClass {
} catch (err) { } catch (err) {
console.error(err); console.error(err);
} }
if (status) { // if (status) {
this.$message({ // this.$message({
message: 'Friend order restored from backup', // message: 'Friend order restored from backup',
type: 'success', // type: 'success',
duration: 0, // duration: 0,
showClose: true // showClose: true
}); // });
} else if (this.friendLogTable.data.length > 0) { // } else if (this.friendLogTable.data.length > 0) {
this.$message({ // this.$message({
message: // message:
'No backup found, friend order partially restored from friendLog', // 'No backup found, friend order partially restored from friendLog',
type: 'success', // type: 'success',
duration: 0, // duration: 0,
showClose: true // showClose: true
}); // });
} // }
await configRepository.setString( await configRepository.setString(
`VRCX_lastStoreTime_${API.currentUser.id}`, `VRCX_lastStoreTime_${API.currentUser.id}`,
-1 -2
); );
}, },
@@ -192,6 +192,7 @@ export default class extends baseClass {
friendRef.ref.$friendNumber = ref.friendNumber; friendRef.ref.$friendNumber = ref.friendNumber;
} }
} }
this.friendNumber = this.friends.size;
console.log('Applied friend order from friendLog'); console.log('Applied friend order from friendLog');
}, },
+8
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() { async getFriendLogHistory() {
var friendLogHistory = []; var friendLogHistory = [];
await sqliteService.execute((dbRow) => { await sqliteService.execute((dbRow) => {