diff --git a/deltachat-jsonrpc/src/api/types/message.rs b/deltachat-jsonrpc/src/api/types/message.rs index a60ee15a5..6e8cd1c73 100644 --- a/deltachat-jsonrpc/src/api/types/message.rs +++ b/deltachat-jsonrpc/src/api/types/message.rs @@ -673,7 +673,6 @@ pub struct MessageReadReceipt { #[derive(Serialize, TypeDef, schemars::JsonSchema)] #[serde(rename_all = "camelCase")] pub struct MessageInfo { - rawtext: String, ephemeral_timer: EphemeralTimer, /// When message is ephemeral this contains the timestamp of the message expiry ephemeral_timestamp: Option, @@ -686,7 +685,6 @@ pub struct MessageInfo { impl MessageInfo { pub async fn from_msg_id(context: &Context, msg_id: MsgId) -> Result { let message = Message::load_from_db(context, msg_id).await?; - let rawtext = msg_id.rawtext(context).await?; let ephemeral_timer = message.get_ephemeral_timer().into(); let ephemeral_timestamp = match message.get_ephemeral_timer() { deltachat::ephemeral::Timer::Disabled => None, @@ -699,7 +697,6 @@ impl MessageInfo { let hop_info = msg_id.hop_info(context).await?; Ok(Self { - rawtext, ephemeral_timer, ephemeral_timestamp, error: message.error(), diff --git a/src/chat.rs b/src/chat.rs index b87348e12..af94014ea 100644 --- a/src/chat.rs +++ b/src/chat.rs @@ -4415,7 +4415,7 @@ pub(crate) async fn save_copy_in_self_talk( bail!("message already saved."); } - let copy_fields = "from_id, to_id, timestamp_sent, timestamp_rcvd, type, txt, txt_raw, \ + let copy_fields = "from_id, to_id, timestamp_sent, timestamp_rcvd, type, txt, \ mime_modified, mime_headers, mime_compressed, mime_in_reply_to, subject, msgrmsg"; let row_id = context .sql diff --git a/src/message.rs b/src/message.rs index 44b6e9b5c..91f18e644 100644 --- a/src/message.rs +++ b/src/message.rs @@ -16,7 +16,7 @@ use crate::chat::{send_msg, Chat, ChatId, ChatIdBlocked, ChatVisibility}; use crate::chatlist_events; use crate::config::Config; use crate::constants::{ - Blocked, Chattype, VideochatType, DC_CHAT_ID_TRASH, DC_DESIRED_TEXT_LEN, DC_MSG_ID_LAST_SPECIAL, + Blocked, Chattype, VideochatType, DC_CHAT_ID_TRASH, DC_MSG_ID_LAST_SPECIAL, }; use crate::contact::{self, Contact, ContactId}; use crate::context::Context; @@ -35,7 +35,7 @@ use crate::summary::Summary; use crate::sync::SyncData; use crate::tools::{ buf_compress, buf_decompress, get_filebytes, get_filemeta, gm2local_offset, read_file, - sanitize_filename, time, timestamp_to_str, truncate, + sanitize_filename, time, timestamp_to_str, }; /// Message ID, including reserved IDs. @@ -174,15 +174,6 @@ impl MsgId { self.0 } - /// Returns raw text of a message, used for message info - pub async fn rawtext(self, context: &Context) -> Result { - Ok(context - .sql - .query_get_value("SELECT txt_raw FROM msgs WHERE id=?", (self,)) - .await? - .unwrap_or_default()) - } - /// Returns server foldernames and UIDs of a message, used for message info pub async fn get_info_server_urls( context: &Context, @@ -219,12 +210,9 @@ impl MsgId { /// Returns detailed message information in a multi-line text form. pub async fn get_info(self, context: &Context) -> Result { let msg = Message::load_from_db(context, self).await?; - let rawtxt: String = self.rawtext(context).await?; let mut ret = String::new(); - let rawtxt = truncate(rawtxt.trim(), DC_DESIRED_TEXT_LEN); - let fts = timestamp_to_str(msg.get_timestamp()); ret += &format!("Sent: {fts}"); @@ -335,9 +323,6 @@ impl MsgId { if duration != 0 { ret += &format!("Duration: {duration} ms\n",); } - if !rawtxt.is_empty() { - ret += &format!("\n{rawtxt}\n"); - } if !msg.rfc724_mid.is_empty() { ret += &format!("\nMessage-ID: {}", msg.rfc724_mid); diff --git a/src/receive_imf.rs b/src/receive_imf.rs index 9877be0ff..6d2e1f480 100644 --- a/src/receive_imf.rs +++ b/src/receive_imf.rs @@ -1539,7 +1539,6 @@ async fn add_parts( } } - let mut txt_raw = "".to_string(); let (msg, typ): (&str, Viewtype) = if let Some(better_msg) = &better_msg { if better_msg.is_empty() && is_partial_download.is_none() { chat_id = DC_CHAT_ID_TRASH; @@ -1554,11 +1553,6 @@ async fn add_parts( save_mime_modified |= mime_parser.is_mime_modified && !part_is_empty && !hidden; let save_mime_modified = save_mime_modified && parts.peek().is_none(); - if part.typ == Viewtype::Text { - let msg_raw = part.msg_raw.as_ref().cloned().unwrap_or_default(); - txt_raw = format!("{subject}\n\n{msg_raw}"); - } - let ephemeral_timestamp = if in_fresh { 0 } else { @@ -1585,7 +1579,7 @@ INSERT INTO msgs rfc724_mid, chat_id, from_id, to_id, timestamp, timestamp_sent, timestamp_rcvd, type, state, msgrmsg, - txt, txt_normalized, subject, txt_raw, param, hidden, + txt, txt_normalized, subject, param, hidden, bytes, mime_headers, mime_compressed, mime_in_reply_to, mime_references, mime_modified, error, ephemeral_timer, ephemeral_timestamp, download_state, hop_info @@ -1594,7 +1588,7 @@ INSERT INTO msgs ?, ?, ?, ?, ?, ?, ?, ?, ?, - ?, ?, ?, ?, ?, + ?, ?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?, ?, ?, ?, ?, ?, ? @@ -1604,7 +1598,7 @@ SET rfc724_mid=excluded.rfc724_mid, chat_id=excluded.chat_id, from_id=excluded.from_id, to_id=excluded.to_id, timestamp_sent=excluded.timestamp_sent, type=excluded.type, state=max(state,excluded.state), msgrmsg=excluded.msgrmsg, txt=excluded.txt, txt_normalized=excluded.txt_normalized, subject=excluded.subject, - txt_raw=excluded.txt_raw, param=excluded.param, + param=excluded.param, hidden=excluded.hidden,bytes=excluded.bytes, mime_headers=excluded.mime_headers, mime_compressed=excluded.mime_compressed, mime_in_reply_to=excluded.mime_in_reply_to, mime_references=excluded.mime_references, mime_modified=excluded.mime_modified, error=excluded.error, ephemeral_timer=excluded.ephemeral_timer, @@ -1626,8 +1620,6 @@ RETURNING id if trash || hidden { "" } else { msg }, if trash || hidden { None } else { message::normalize_text(msg) }, if trash || hidden { "" } else { &subject }, - // txt_raw might contain invalid utf8 - if trash || hidden { "" } else { &txt_raw }, if trash { "".to_string() } else { diff --git a/src/sql/tables.sql b/src/sql/tables.sql index c52c29823..6e5c7f255 100644 --- a/src/sql/tables.sql +++ b/src/sql/tables.sql @@ -66,7 +66,7 @@ CREATE TABLE msgs ( msgrmsg INTEGER DEFAULT 1, bytes INTEGER DEFAULT 0, txt TEXT DEFAULT '', - txt_raw TEXT DEFAULT '', + txt_raw TEXT DEFAULT '', -- deprecated 2025-03-29 param TEXT DEFAULT '', starred INTEGER DEFAULT 0, timestamp_sent INTEGER DEFAULT 0, diff --git a/src/tools/tools_tests.rs b/src/tools/tools_tests.rs index 9f812cf08..b2b8fe36c 100644 --- a/src/tools/tools_tests.rs +++ b/src/tools/tools_tests.rs @@ -43,8 +43,6 @@ async fn test_parse_receive_headers_integration() { let raw = include_bytes!("../../test-data/message/mail_with_cc.txt"); let expected = r"State: Fresh -hi - Message-ID: 2dfdbde7@example.org Hop: From: localhost; By: hq5.merlinux.eu; Date: Sat, 14 Sep 2019 17:00:22 +0000 @@ -56,13 +54,6 @@ DKIM Results: Passed=true"; let raw = include_bytes!("../../test-data/message/encrypted_with_received_headers.eml"); let expected = "State: Fresh, Encrypted -Re: Message from alice@example.org - -hi back\r\n\ -\r\n\ --- \r\n\ -Sent with my Delta Chat Messenger: https://delta.chat - Message-ID: Mr.adQpEwndXLH.LPDdlFVJ7wG@example.net Hop: From: [127.0.0.1]; By: mail.example.org; Date: Mon, 27 Dec 2021 11:21:21 +0000