Compare commits

..

2 Commits

Author SHA1 Message Date
Lennart
b89ff1a2b5 version 0.12.3 2026-01-24 22:49:02 +01:00
Lennart
246a1aa738 Add truncation for automatically derived timezones 2026-01-24 22:48:08 +01:00
5 changed files with 22 additions and 22 deletions

28
Cargo.lock generated
View File

@@ -567,9 +567,9 @@ checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
[[package]] [[package]]
name = "caldata" name = "caldata"
version = "0.13.1" version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5549ae654c8e80ff922297ad06c49be64668cf947cb6ce45a2069985d21a2135" checksum = "f36de4a8034d98c95e7fe874b828272d823cfbd68e9571fe7bf6c419e852cbe2"
dependencies = [ dependencies = [
"chrono", "chrono",
"chrono-tz", "chrono-tz",
@@ -3309,7 +3309,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical" name = "rustical"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"argon2", "argon2",
@@ -3356,7 +3356,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_caldav" name = "rustical_caldav"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-std", "async-std",
"async-trait", "async-trait",
@@ -3398,7 +3398,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_carddav" name = "rustical_carddav"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum", "axum",
@@ -3432,7 +3432,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_dav" name = "rustical_dav"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum", "axum",
@@ -3458,7 +3458,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_dav_push" name = "rustical_dav_push"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum", "axum",
@@ -3483,7 +3483,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_frontend" name = "rustical_frontend"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"askama", "askama",
"askama_web", "askama_web",
@@ -3519,7 +3519,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_ical" name = "rustical_ical"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"axum", "axum",
"caldata", "caldata",
@@ -3538,7 +3538,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_oidc" name = "rustical_oidc"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum", "axum",
@@ -3554,7 +3554,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_store" name = "rustical_store"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@@ -3587,7 +3587,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_store_sqlite" name = "rustical_store_sqlite"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"caldata", "caldata",
@@ -3612,7 +3612,7 @@ dependencies = [
[[package]] [[package]]
name = "rustical_xml" name = "rustical_xml"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"quick-xml", "quick-xml",
"thiserror 2.0.18", "thiserror 2.0.18",
@@ -5434,7 +5434,7 @@ checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
[[package]] [[package]]
name = "xml_derive" name = "xml_derive"
version = "0.12.2" version = "0.12.3"
dependencies = [ dependencies = [
"darling 0.23.0", "darling 0.23.0",
"heck", "heck",

View File

@@ -2,7 +2,7 @@
members = ["crates/*"] members = ["crates/*"]
[workspace.package] [workspace.package]
version = "0.12.2" version = "0.12.3"
rust-version = "1.92" rust-version = "1.92"
edition = "2024" edition = "2024"
description = "A CalDAV server" description = "A CalDAV server"
@@ -107,7 +107,7 @@ strum = "0.27"
strum_macros = "0.27" strum_macros = "0.27"
serde_json = { version = "1.0", features = ["raw_value"] } serde_json = { version = "1.0", features = ["raw_value"] }
sqlx-sqlite = { version = "0.8", features = ["bundled"] } sqlx-sqlite = { version = "0.8", features = ["bundled"] }
caldata = { version = "0.13.0", features = ["chrono-tz", "vtimezones-rs"] } caldata = { version = "0.14.0", features = ["chrono-tz", "vtimezones-rs"] }
toml = "0.9" toml = "0.9"
tower = "0.5" tower = "0.5"
tower-http = { version = "0.6", features = [ tower-http = { version = "0.6", features = [

View File

@@ -4,8 +4,8 @@ use axum::{
extract::{Path, State}, extract::{Path, State},
response::{IntoResponse, Response}, response::{IntoResponse, Response},
}; };
use caldata::IcalParser;
use caldata::component::{Component, ComponentMut}; use caldata::component::{Component, ComponentMut};
use caldata::{IcalParser, parser::ParserOptions};
use http::StatusCode; use http::StatusCode;
use rustical_dav::header::Overwrite; use rustical_dav::header::Overwrite;
use rustical_ical::CalendarObjectType; use rustical_ical::CalendarObjectType;
@@ -50,7 +50,7 @@ pub async fn route_import<C: CalendarStore, S: SubscriptionStore>(
cal.remove_property("X-WR-CALDESC"); cal.remove_property("X-WR-CALDESC");
cal.remove_property("X-WR-CALCOLOR"); cal.remove_property("X-WR-CALCOLOR");
cal.remove_property("X-WR-TIMEZONE"); cal.remove_property("X-WR-TIMEZONE");
let cal = cal.build(None).unwrap(); let cal = cal.build(&ParserOptions::default(), None).unwrap();
// Make sure timezone is valid // Make sure timezone is valid
if let Some(timezone_id) = timezone_id.as_ref() { if let Some(timezone_id) = timezone_id.as_ref() {

View File

@@ -7,7 +7,7 @@ use axum::{
use caldata::{ use caldata::{
VcardParser, VcardParser,
component::{Component, ComponentMut}, component::{Component, ComponentMut},
parser::ContentLine, parser::{ContentLine, ParserOptions},
}; };
use http::StatusCode; use http::StatusCode;
use rustical_store::{Addressbook, AddressbookStore, SubscriptionStore, auth::Principal}; use rustical_store::{Addressbook, AddressbookStore, SubscriptionStore, auth::Principal};
@@ -37,7 +37,7 @@ pub async fn route_import<AS: AddressbookStore, S: SubscriptionStore>(
value: Some(uuid::Uuid::new_v4().to_string()), value: Some(uuid::Uuid::new_v4().to_string()),
params: vec![].into(), params: vec![].into(),
}); });
card = card_mut.build(None).unwrap(); card = card_mut.build(&ParserOptions::default(), None).unwrap();
} }
// TODO: Make nicer // TODO: Make nicer
let uid = card.get_uid().unwrap(); let uid = card.get_uid().unwrap();

View File

@@ -6,7 +6,7 @@ use caldata::{
IcalEventBuilder, VcardContact, IcalEventBuilder, VcardContact,
}, },
generator::Emitter, generator::Emitter,
parser::ContentLine, parser::{ContentLine, ParserOptions},
property::{ property::{
Calscale, IcalCALSCALEProperty, IcalDTENDProperty, IcalDTSTAMPProperty, Calscale, IcalCALSCALEProperty, IcalDTENDProperty, IcalDTSTAMPProperty,
IcalDTSTARTProperty, IcalPRODIDProperty, IcalRRULEProperty, IcalSUMMARYProperty, IcalDTSTARTProperty, IcalPRODIDProperty, IcalRRULEProperty, IcalSUMMARYProperty,
@@ -136,7 +136,7 @@ impl AddressObject {
inner: Some(CalendarInnerDataBuilder::Event(vec![event])), inner: Some(CalendarInnerDataBuilder::Event(vec![event])),
vtimezones: BTreeMap::default(), vtimezones: BTreeMap::default(),
} }
.build(None)? .build(&ParserOptions::default(), None)?
.into(), .into(),
)) ))
} }