feat: use key fingerprints for color generation

This way contact colors stays the same
even if the address changes later.
This commit is contained in:
link2xt
2025-08-26 16:35:25 +00:00
committed by l
parent aaa83a8f52
commit 4010c60e7b
2 changed files with 10 additions and 4 deletions

View File

@@ -1575,11 +1575,16 @@ impl Contact {
}
/// Get a color for the contact.
/// The color is calculated from the contact's email address
/// and can be used for an fallback avatar with white initials
/// The color is calculated from the contact's fingerprint (for key-contacts)
/// or email address (for address-contacts) and can be used
/// for an fallback avatar with white initials
/// as well as for headlines in bubbles of group chats.
pub fn get_color(&self) -> u32 {
str_to_color(&self.addr.to_lowercase())
if let Some(fingerprint) = self.fingerprint() {
str_to_color(&fingerprint.hex())
} else {
str_to_color(&self.addr.to_lowercase())
}
}
/// Gets the contact's status.