Percent encoding workaround for Apple Calendar bug

This commit is contained in:
mdecimus
2025-06-07 20:15:42 +02:00
parent d48418b258
commit afd8febbf1
12 changed files with 111 additions and 48 deletions

View File

@@ -18,6 +18,7 @@ use dav_proto::{
},
};
use directory::{QueryBy, Type, backend::internal::manage::ManageDirectory};
use groupware::RFC_3986;
use groupware::{cache::GroupwareCache, calendar::Calendar, contact::AddressBook, file::FileNode};
use http_proto::HttpResponse;
use hyper::StatusCode;
@@ -26,7 +27,6 @@ use jmap_proto::types::{
collection::Collection,
value::{AclGrant, ArchivedAclGrant},
};
use percent_encoding::NON_ALPHANUMERIC;
use rkyv::vec::ArchivedVec;
use store::{ahash::AHashSet, roaring::RoaringBitmap, write::BatchBuilder};
use trc::AddContext;
@@ -435,10 +435,7 @@ impl DavAclHandler for Server {
Principal::Href(Href(format!(
"{}/{}/",
DavResourceName::Principal.base_path(),
percent_encoding::utf8_percent_encode(
&grant_account_name,
NON_ALPHANUMERIC
),
percent_encoding::utf8_percent_encode(&grant_account_name, RFC_3986),
)))
};

View File

@@ -47,6 +47,7 @@ use dav_proto::{
},
};
use directory::{Permission, Type, backend::internal::manage::ManageDirectory};
use groupware::RFC_3986;
use groupware::{
DavCalendarResource, DavResourceName, cache::GroupwareCache, calendar::ArchivedTimezone,
};
@@ -56,7 +57,6 @@ use jmap_proto::types::{
acl::Acl,
collection::{Collection, SyncCollection},
};
use percent_encoding::NON_ALPHANUMERIC;
use std::sync::Arc;
use store::{
ahash::AHashMap,
@@ -263,7 +263,7 @@ impl PropFindRequestHandler for Server {
DavResourceName::Cal.base_path(),
percent_encoding::utf8_percent_encode(
&access_token.name,
NON_ALPHANUMERIC
RFC_3986
),
))],
));
@@ -277,7 +277,7 @@ impl PropFindRequestHandler for Server {
DavResourceName::Card.base_path(),
percent_encoding::utf8_percent_encode(
&access_token.name,
NON_ALPHANUMERIC
RFC_3986
),
))],
));