Search messages having a uuid stanza id by id + account
This commit is contained in:
parent
c2643a45b0
commit
13cef27d46
|
@ -293,9 +293,10 @@ public class Database : Qlite.Database {
|
|||
.count() > 0;
|
||||
}
|
||||
|
||||
public bool contains_message_by_stanza_id(string stanza_id) {
|
||||
public bool contains_message_by_stanza_id(string stanza_id, Account account) {
|
||||
return message.select()
|
||||
.with(message.stanza_id, "=", stanza_id)
|
||||
.with(message.account_id, "=", account.id)
|
||||
.count() > 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ public class MessageManager : StreamInteractionModule, Object {
|
|||
pre_message_received(new_message, message, conversation);
|
||||
|
||||
bool is_uuid = new_message.stanza_id != null && Regex.match_simple("""[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}""", new_message.stanza_id);
|
||||
if ((is_uuid && !db.contains_message_by_stanza_id(new_message.stanza_id)) ||
|
||||
if ((is_uuid && !db.contains_message_by_stanza_id(new_message.stanza_id, conversation.account)) ||
|
||||
(!is_uuid && !db.contains_message(new_message, conversation.account))) {
|
||||
db.add_message(new_message, conversation.account);
|
||||
add_message(new_message, conversation);
|
||||
|
|
Loading…
Reference in a new issue