Merge pull request #1003 from Mikunj/rollback

Rollback pairing authorisation upload on failure
This commit is contained in:
Mikunj Varsani 2020-03-27 14:11:15 +11:00 committed by GitHub
commit 71caa49a84
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -618,11 +618,27 @@
};
// Update authorisation in database with the new grant signature
await libloki.storage.savePairingAuthorisation(authorisation);
await lokiFileServerAPI.updateOurDeviceMapping();
await libloki.api.sendPairingAuthorisation(
authorisation,
secondaryDevicePubKey
);
// Try to upload to the file server and then send a message
try {
await lokiFileServerAPI.updateOurDeviceMapping();
await libloki.api.sendPairingAuthorisation(
authorisation,
secondaryDevicePubKey
);
} catch (e) {
log.error(
'Failed to authorise secondary device: ',
e && e.stack ? e.stack : e
);
// File server upload failed or message sending failed, we should rollback changes
await libloki.storage.removePairingAuthorisationForSecondaryPubKey(
secondaryDevicePubKey
);
await lokiFileServerAPI.updateOurDeviceMapping();
throw e;
}
// Always be friends with secondary devices
await secondaryConversation.setFriendRequestStatus(
window.friends.friendRequestStatusEnum.friends,