Browse Source
Merge pull request #1408 from oltaco/improved-contact-mgmt
Contact management tweaks
pull/1362/head
ripplebiz
5 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
3 additions and
4 deletions
-
examples/companion_radio/MyMesh.cpp
-
src/helpers/BaseChatMesh.cpp
|
|
|
@ -323,7 +323,7 @@ void MyMesh::onContactsFull() { |
|
|
|
|
|
|
|
void MyMesh::onDiscoveredContact(ContactInfo &contact, bool is_new, uint8_t path_len, const uint8_t* path) { |
|
|
|
if (_serial->isConnected()) { |
|
|
|
if (!shouldAutoAddContactType(contact.type) && is_new) { |
|
|
|
if (is_new) { |
|
|
|
writeContactRespFrame(PUSH_CODE_NEW_ADVERT, contact); |
|
|
|
} else { |
|
|
|
out_frame[0] = PUSH_CODE_ADVERT; |
|
|
|
@ -358,7 +358,7 @@ void MyMesh::onDiscoveredContact(ContactInfo &contact, bool is_new, uint8_t path |
|
|
|
memcpy(p->path, path, p->path_len); |
|
|
|
} |
|
|
|
|
|
|
|
dirty_contacts_expiry = futureMillis(LAZY_CONTACTS_WRITE_DELAY); |
|
|
|
if (!is_new) dirty_contacts_expiry = futureMillis(LAZY_CONTACTS_WRITE_DELAY); // only schedule lazy write for contacts that are in contacts[]
|
|
|
|
} |
|
|
|
|
|
|
|
static int sort_by_recent(const void *a, const void *b) { |
|
|
|
|
|
|
|
@ -133,7 +133,7 @@ void BaseChatMesh::onAdvertRecv(mesh::Packet* packet, const mesh::Identity& id, |
|
|
|
} |
|
|
|
putBlobByKey(id.pub_key, PUB_KEY_SIZE, temp_buf, plen); |
|
|
|
|
|
|
|
bool is_new = false; |
|
|
|
bool is_new = false; // true = not in contacts[], false = exists in contacts[]
|
|
|
|
if (from == NULL) { |
|
|
|
if (!shouldAutoAddContactType(parser.getType())) { |
|
|
|
ContactInfo ci; |
|
|
|
@ -142,7 +142,6 @@ void BaseChatMesh::onAdvertRecv(mesh::Packet* packet, const mesh::Identity& id, |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
is_new = true; |
|
|
|
from = allocateContactSlot(); |
|
|
|
if (from == NULL) { |
|
|
|
ContactInfo ci; |
|
|
|
|