mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-26 12:47:35 +00:00
Ensure we properly detect update messages for migrations.
This commit is contained in:
@@ -953,6 +953,13 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
try {
|
||||
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context);
|
||||
|
||||
if (message.getMessage().isGroupV2Message()) {
|
||||
Optional<GroupDatabase.GroupRecord> possibleGv1 = groupDatabase.getGroupV1ByExpectedV2(GroupId.v2(message.getMessage().getGroupContext().get().getGroupV2().get().getMasterKey()));
|
||||
if (possibleGv1.isPresent()) {
|
||||
GroupsV1MigrationUtil.performLocalMigration(context, possibleGv1.get().getId().requireV1());
|
||||
}
|
||||
}
|
||||
|
||||
long threadId = -1;
|
||||
|
||||
if (message.isRecipientUpdate()) {
|
||||
@@ -965,6 +972,8 @@ public final class PushProcessMessageJob extends BaseJob {
|
||||
} else if (message.getMessage().isGroupV2Update()) {
|
||||
handleSynchronizeSentGv2Update(content, message);
|
||||
threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(getSyncMessageDestination(message));
|
||||
} else if (message.getMessage().isEmptyGroupV2Message()) {
|
||||
// Do nothing
|
||||
} else if (message.getMessage().isExpirationUpdate()) {
|
||||
threadId = handleSynchronizeSentExpirationUpdate(message);
|
||||
} else if (message.getMessage().getReaction().isPresent()) {
|
||||
|
@@ -163,6 +163,10 @@ public class SignalServiceDataMessage {
|
||||
!hasRenderableContent();
|
||||
}
|
||||
|
||||
public boolean isEmptyGroupV2Message() {
|
||||
return isGroupV2Message() && !isGroupV2Update() && !hasRenderableContent();
|
||||
}
|
||||
|
||||
/** Contains some user data that affects the conversation */
|
||||
public boolean hasRenderableContent() {
|
||||
return attachments.isPresent() ||
|
||||
|
Reference in New Issue
Block a user