mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-26 15:57:34 +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 {
|
try {
|
||||||
GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context);
|
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;
|
long threadId = -1;
|
||||||
|
|
||||||
if (message.isRecipientUpdate()) {
|
if (message.isRecipientUpdate()) {
|
||||||
@@ -965,6 +972,8 @@ public final class PushProcessMessageJob extends BaseJob {
|
|||||||
} else if (message.getMessage().isGroupV2Update()) {
|
} else if (message.getMessage().isGroupV2Update()) {
|
||||||
handleSynchronizeSentGv2Update(content, message);
|
handleSynchronizeSentGv2Update(content, message);
|
||||||
threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(getSyncMessageDestination(message));
|
threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(getSyncMessageDestination(message));
|
||||||
|
} else if (message.getMessage().isEmptyGroupV2Message()) {
|
||||||
|
// Do nothing
|
||||||
} else if (message.getMessage().isExpirationUpdate()) {
|
} else if (message.getMessage().isExpirationUpdate()) {
|
||||||
threadId = handleSynchronizeSentExpirationUpdate(message);
|
threadId = handleSynchronizeSentExpirationUpdate(message);
|
||||||
} else if (message.getMessage().getReaction().isPresent()) {
|
} else if (message.getMessage().getReaction().isPresent()) {
|
||||||
|
@@ -163,6 +163,10 @@ public class SignalServiceDataMessage {
|
|||||||
!hasRenderableContent();
|
!hasRenderableContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isEmptyGroupV2Message() {
|
||||||
|
return isGroupV2Message() && !isGroupV2Update() && !hasRenderableContent();
|
||||||
|
}
|
||||||
|
|
||||||
/** Contains some user data that affects the conversation */
|
/** Contains some user data that affects the conversation */
|
||||||
public boolean hasRenderableContent() {
|
public boolean hasRenderableContent() {
|
||||||
return attachments.isPresent() ||
|
return attachments.isPresent() ||
|
||||||
|
Reference in New Issue
Block a user