diff --git a/imessage-database/src/tables/messages/message.rs b/imessage-database/src/tables/messages/message.rs index d96b9221..c20c059f 100644 --- a/imessage-database/src/tables/messages/message.rs +++ b/imessage-database/src/tables/messages/message.rs @@ -936,12 +936,15 @@ impl Message { /// Determine the service the message was sent from, i.e. iMessage, SMS, IRC, etc. pub fn service(&self) -> Service { - match self.service.as_deref() { - Some("iMessage") => Service::iMessage, - Some("SMS") => Service::SMS, - Some(service_name) => Service::Other(service_name), - None => Service::Unknown, + if let Some(service_name) = self.service.as_deref() { + return match service_name.trim() { + "iMessage" => Service::iMessage, + "SMS" => Service::SMS, + "rcs" => Service::SMS, + service_name => Service::Other(service_name), + }; } + Service::Unknown } /// Extract a blob of data that belongs to a single message from a given column diff --git a/imessage-database/src/tables/messages/models.rs b/imessage-database/src/tables/messages/models.rs index d0e3c80f..ed6fe7b7 100644 --- a/imessage-database/src/tables/messages/models.rs +++ b/imessage-database/src/tables/messages/models.rs @@ -31,6 +31,8 @@ pub enum Service<'a> { iMessage, /// A message sent as SMS SMS, + /// A message sent as RCS + RCS, /// Any other type of message Other(&'a str), /// Used when service field is not set diff --git a/imessage-exporter/src/exporters/resources/style.css b/imessage-exporter/src/exporters/resources/style.css index bb8dd6f9..265822aa 100644 --- a/imessage-exporter/src/exporters/resources/style.css +++ b/imessage-exporter/src/exporters/resources/style.css @@ -36,6 +36,10 @@ a[href^="#"] { background-color: #65c466 } +.message .sent.rcs { + background-color: #65c466 +} + .message .sent { color: white; border-radius: 25px;