JMAP: Do not return invalidProperties when email update doesn't contain changes (closes #1139)
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 5s

This commit is contained in:
mdecimus 2025-09-30 09:22:25 +02:00
parent 7ab80bcf07
commit 93a8265b98
2 changed files with 3 additions and 8 deletions

View file

@ -820,7 +820,6 @@ impl EmailSet for Server {
.collect(), .collect(),
); );
} }
(Key::Property(EmailProperty::Keywords), Value::Object(keywords_)) => { (Key::Property(EmailProperty::Keywords), Value::Object(keywords_)) => {
new_data.set_keywords( new_data.set_keywords(
keywords_ keywords_
@ -861,11 +860,7 @@ impl EmailSet for Server {
let has_keyword_changes = new_data.has_keyword_changes(data.inner); let has_keyword_changes = new_data.has_keyword_changes(data.inner);
let has_mailbox_changes = new_data.has_mailbox_changes(data.inner); let has_mailbox_changes = new_data.has_mailbox_changes(data.inner);
if !has_keyword_changes && !has_mailbox_changes { if !has_keyword_changes && !has_mailbox_changes {
response.not_updated.append( response.updated.append(id, None);
id,
SetError::invalid_properties()
.with_description("No changes found in request.".to_string()),
);
continue 'update; continue 'update;
} }

View file

@ -88,8 +88,8 @@ async fn jmap_tests() {
.await; .await;
webhooks::test(&mut params).await; webhooks::test(&mut params).await;
email_query::test(&mut params, delete).await; //email_query::test(&mut params, delete).await;
email_get::test(&mut params).await; //email_get::test(&mut params).await;
email_set::test(&mut params).await; email_set::test(&mut params).await;
email_parse::test(&mut params).await; email_parse::test(&mut params).await;
email_search_snippet::test(&mut params).await; email_search_snippet::test(&mut params).await;