diff --git a/deltachat-jsonrpc/src/api.rs b/deltachat-jsonrpc/src/api.rs index b67c8e595..774e40826 100644 --- a/deltachat-jsonrpc/src/api.rs +++ b/deltachat-jsonrpc/src/api.rs @@ -2033,13 +2033,19 @@ impl CommandApi { text: Option, file: Option, quoted_message_id: Option, + view_type: Option, ) -> Result<()> { let ctx = self.get_context(account_id).await?; - let mut draft = Message::new(if file.is_some() { - Viewtype::File - } else { - Viewtype::Text - }); + let mut draft = Message::new(view_type.map_or_else( + || { + if file.is_some() { + Viewtype::File + } else { + Viewtype::Text + } + }, + |v| v.into(), + )); draft.set_text(text.unwrap_or_default()); if let Some(file) = file { draft.set_file(file, None); diff --git a/deltachat-rpc-client/src/deltachat_rpc_client/chat.py b/deltachat-rpc-client/src/deltachat_rpc_client/chat.py index 20fc11b36..a1d03e727 100644 --- a/deltachat-rpc-client/src/deltachat_rpc_client/chat.py +++ b/deltachat-rpc-client/src/deltachat_rpc_client/chat.py @@ -160,11 +160,12 @@ class Chat: text: Optional[str] = None, file: Optional[str] = None, quoted_msg: Optional[int] = None, + viewtype: Optional[str] = None, ) -> None: """Set draft message.""" if isinstance(quoted_msg, Message): quoted_msg = quoted_msg.id - self._rpc.misc_set_draft(self.account.id, self.id, text, file, quoted_msg) + self._rpc.misc_set_draft(self.account.id, self.id, text, file, quoted_msg, viewtype) def remove_draft(self) -> None: """Remove draft message."""