Fix messages to self being duplicated

fixes #591
This commit is contained in:
fiaxh 2020-03-09 13:37:11 +01:00
parent efc085dc11
commit 4a08c8061d
1 changed files with 12 additions and 4 deletions

View File

@ -451,10 +451,18 @@ public class MessageProcessor : StreamInteractionModule, Object {
.with(db.message.stanza_id, "=", message.stanza_id)
.with(db.message.counterpart_id, "=", db.get_jid_id(message.counterpart))
.with(db.message.account_id, "=", account.id);
if (message.counterpart.resourcepart != null) {
builder.with(db.message.counterpart_resource, "=", message.counterpart.resourcepart);
} else {
builder.with_null(db.message.counterpart_resource);
if (message.direction == Message.DIRECTION_RECEIVED) {
if (message.counterpart.resourcepart != null) {
builder.with(db.message.counterpart_resource, "=", message.counterpart.resourcepart);
} else {
builder.with_null(db.message.counterpart_resource);
}
} else if (message.direction == Message.DIRECTION_SENT) {
if (message.ourpart.resourcepart != null) {
builder.with(db.message.our_resource, "=", message.ourpart.resourcepart);
} else {
builder.with_null(db.message.our_resource);
}
}
RowOption row_opt = builder.single().row();
bool duplicate = row_opt.is_present();