From 505124a22f7231dcf4f4d5b7733877f6809735c7 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Tue, 16 Mar 2021 09:40:18 +0100 Subject: [PATCH] add the contact group and local group if it doesnt already exist --- .../briar/socialbackup/SocialBackupManagerImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java index d81817fcd..ba976348f 100644 --- a/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java +++ b/briar-core/src/main/java/org/briarproject/briar/socialbackup/SocialBackupManagerImpl.java @@ -256,6 +256,8 @@ class SocialBackupManagerImpl extends BdfIncomingMessageHook new BackupMetadata(secret, authors, threshold, 0); BdfDictionary meta = backupMetadataEncoder.encodeBackupMetadata(backupMetadata); + + if (!db.containsGroup(txn, localGroup.getId())) db.addGroup(txn, localGroup); clientHelper.mergeGroupMetadata(txn, localGroup.getId(), meta); } catch (FormatException e) { throw new AssertionError(e); @@ -323,7 +325,9 @@ class SocialBackupManagerImpl extends BdfIncomingMessageHook private void sendShardMessage(Transaction txn, Contact custodian, Shard shard) throws DbException, FormatException { - GroupId g = getContactGroup(custodian).getId(); + Group group = getContactGroup(custodian); + GroupId g = group.getId(); + if (!db.containsGroup(txn, g)) db.addGroup(txn, group); long timestamp = clock.currentTimeMillis(); byte[] body = messageEncoder.encodeShardMessage(shard); Message m = clientHelper.createMessage(g, timestamp, body);