Fix issue with storage key intersections.

- When doing the intersection, ignore keys that have type mismatches (same storageId, different types)
- If we detect that scenario, schedule a force push to happen afterwards
- Also schedule a force push afterwards if we detect that there's keys in the manifest that don't have any storage item on the service
This commit is contained in:
Greyson Parrelli
2020-09-10 14:01:41 -04:00
committed by GitHub
parent 3cffaddc0a
commit d0dfcaaad5
4 changed files with 103 additions and 14 deletions

View File

@@ -470,10 +470,6 @@ public class SignalServiceAccountManager {
String authToken = this.pushServiceSocket.getStorageAuth();
StorageItems items = this.pushServiceSocket.readStorageItems(authToken, operation.build());
if (items.getItemsCount() != storageKeys.size()) {
Log.w(TAG, "Failed to find all remote keys! Requested: " + storageKeys.size() + ", Found: " + items.getItemsCount());
}
for (StorageItem item : items.getItemsList()) {
Integer type = typeMap.get(item.getKey());
if (type != null) {