Merge pull request 'Merge upstream v0.16.24' (#84) from merge/upstream-v0.16.24 into main
ci / fork-checks (push) Successful in 54s
ci / build (push) Canceled after 39m0s

This commit was merged in pull request #84.
This commit is contained in:
2026-09-28 15:55:16 +00:00
96 changed files with 4212 additions and 1066 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "jmap_proto"
version = "0.16.23"
version = "0.16.24"
edition = "2024"
[dependencies]
+1 -2
View File
@@ -12,7 +12,6 @@ use crate::{
email::{EmailProperty, EmailValue},
},
request::{
MaybeInvalid,
deserialize::{DeserializeArguments, deserialize_request},
reference::{MaybeIdReference, MaybeResultReference, ResultReference},
},
@@ -33,7 +32,7 @@ pub struct ImportEmailRequest {
#[derive(Debug, Clone, Default)]
pub struct ImportEmail {
pub blob_id: MaybeInvalid<BlobId>,
pub blob_id: MaybeIdReference<BlobId>,
pub mailbox_ids: MaybeResultReference<Vec<MaybeIdReference<Id>>>,
pub keywords: Vec<Keyword>,
pub received_at: Option<UTCDate>,
@@ -392,6 +392,10 @@ impl ResolveReference for ImportEmailRequest {
fn resolve_references(&mut self, response: &Response<'_>) -> trc::Result<()> {
// Resolve email mailbox references
for email in self.emails.values_mut() {
if let MaybeIdReference::Reference(ir) = &email.blob_id {
email.blob_id = MaybeIdReference::Id(response.eval_blob_id_reference(ir)?);
}
match &mut email.mailbox_ids {
MaybeResultReference::Reference(reference) => {
email.mailbox_ids = MaybeResultReference::Value(
@@ -105,6 +105,12 @@ impl<V: Default> Default for MaybeResultReference<V> {
}
}
impl<V: FromStr> Default for MaybeIdReference<V> {
fn default() -> Self {
MaybeIdReference::Invalid(String::new())
}
}
impl<T: Default> MaybeResultReference<T> {
pub fn unwrap(self) -> T {
match self {