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;
|
.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()
|
return message.select()
|
||||||
.with(message.stanza_id, "=", stanza_id)
|
.with(message.stanza_id, "=", stanza_id)
|
||||||
|
.with(message.account_id, "=", account.id)
|
||||||
.count() > 0;
|
.count() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,7 @@ public class MessageManager : StreamInteractionModule, Object {
|
||||||
pre_message_received(new_message, message, conversation);
|
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);
|
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))) {
|
(!is_uuid && !db.contains_message(new_message, conversation.account))) {
|
||||||
db.add_message(new_message, conversation.account);
|
db.add_message(new_message, conversation.account);
|
||||||
add_message(new_message, conversation);
|
add_message(new_message, conversation);
|
||||||
|
|
Loading…
Reference in a new issue