Bump to calcard 0.2
This commit is contained in:
@@ -30,7 +30,7 @@ imap_proto = { path = "../crates/imap-proto" }
|
||||
types = { path = "../crates/types" }
|
||||
dav = { path = "../crates/dav", features = ["test_mode"] }
|
||||
dav-proto = { path = "../crates/dav-proto", features = ["test_mode"] }
|
||||
calcard = { version = "0.1.3", features = ["rkyv"] }
|
||||
calcard = { path = "/Users/me/code/calcard", features = ["rkyv"] }
|
||||
groupware = { path = "../crates/groupware", features = ["test_mode"] }
|
||||
http = { path = "../crates/http", features = ["test_mode", "enterprise"] }
|
||||
http_proto = { path = "../crates/http-proto" }
|
||||
|
||||
@@ -57,13 +57,14 @@ summary: invite
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@gmail.com", name: Some("John Doe"), is_organizer: true }, ItipParticipant { email: "b@gmail.com", name: Some("b@gmail.com"), is_organizer: false }])
|
||||
summary.description: Text("This is the event description")
|
||||
summary.dtstart: Time(ItipTime { start: 1750338000, tz_id: 148 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Meet me maybe")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
DESCRIPTION:This is the event description
|
||||
LOCATION:
|
||||
STATUS:CONFIRMED
|
||||
@@ -71,8 +72,8 @@ SUMMARY:Meet me maybe
|
||||
DTEND;TZID=America/Los_Angeles:20250619T064500
|
||||
DTSTART;TZID=America/Los_Angeles:20250619T060000
|
||||
TRANSP:OPAQUE
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
|
||||
TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;
|
||||
CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;
|
||||
CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com
|
||||
ORGANIZER;CN="John Doe":mailto:a@gmail.com
|
||||
@@ -82,7 +83,6 @@ CREATED:20250616T182358Z
|
||||
DTSTAMP:0
|
||||
LAST-MODIFIED:20250616T182358Z
|
||||
SEQUENCE:1
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
BEGIN:VALARM
|
||||
DESCRIPTION:This is an event reminder
|
||||
ACTION:DISPLAY
|
||||
@@ -90,8 +90,8 @@ TRIGGER:-PT10M
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Los_Angeles
|
||||
X-LIC-LOCATION:America/Los_Angeles
|
||||
TZID:America/Los_Angeles
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:19700308T020000
|
||||
TZNAME:PDT
|
||||
@@ -171,7 +171,7 @@ summary: update REQUEST
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@gmail.com", name: Some("John Doe"), is_organizer: true }, ItipParticipant { email: "b@gmail.com", name: Some("b@gmail.com"), is_organizer: false }])
|
||||
summary.description: Text("This is the updated event description")
|
||||
summary.dtstart: Time(ItipTime { start: 1750338000, tz_id: 148 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Meet me maybe")
|
||||
~summary.description: Text("This is the event description")
|
||||
BEGIN:VCALENDAR
|
||||
@@ -179,6 +179,7 @@ METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
DESCRIPTION:This is the updated event description
|
||||
LOCATION:
|
||||
STATUS:CONFIRMED
|
||||
@@ -186,8 +187,8 @@ SUMMARY:Meet me maybe
|
||||
DTEND;TZID=America/Los_Angeles:20250619T064500
|
||||
DTSTART;TZID=America/Los_Angeles:20250619T060000
|
||||
TRANSP:OPAQUE
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
|
||||
TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;
|
||||
CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;
|
||||
CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com
|
||||
ORGANIZER;CN="John Doe":mailto:a@gmail.com
|
||||
@@ -197,11 +198,10 @@ CREATED:20250616T182358Z
|
||||
DTSTAMP:0
|
||||
LAST-MODIFIED:20250616T182415Z
|
||||
SEQUENCE:1
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Los_Angeles
|
||||
X-LIC-LOCATION:America/Los_Angeles
|
||||
TZID:America/Los_Angeles
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:19700308T020000
|
||||
TZNAME:PDT
|
||||
@@ -227,6 +227,7 @@ BEGIN:VCALENDAR
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VEVENT
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
DESCRIPTION:This is the updated event description
|
||||
LOCATION:
|
||||
STATUS:CONFIRMED
|
||||
@@ -234,8 +235,8 @@ SUMMARY:Meet me maybe
|
||||
DTEND;TZID=America/Los_Angeles:20250619T064500
|
||||
DTSTART;TZID=America/Los_Angeles:20250619T060000
|
||||
TRANSP:OPAQUE
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
|
||||
TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;
|
||||
CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;
|
||||
CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com
|
||||
ORGANIZER;CN="John Doe":mailto:a@gmail.com
|
||||
@@ -245,7 +246,6 @@ CREATED:20250616T182358Z
|
||||
DTSTAMP:0
|
||||
LAST-MODIFIED:20250616T182358Z
|
||||
SEQUENCE:1
|
||||
X-MICROSOFT-CDO-OWNERAPPTID:299828133
|
||||
BEGIN:VALARM
|
||||
DESCRIPTION:This is an event reminder
|
||||
ACTION:DISPLAY
|
||||
@@ -253,8 +253,8 @@ TRIGGER:-PT10M
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Los_Angeles
|
||||
X-LIC-LOCATION:America/Los_Angeles
|
||||
TZID:America/Los_Angeles
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:19700308T020000
|
||||
TZNAME:PDT
|
||||
|
||||
@@ -33,7 +33,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name:
|
||||
summary.description: Text("IETF-C&S Conference Call")
|
||||
summary.dtstart: Time(ItipTime { start: 865198800, tz_id: 32768 })
|
||||
summary.location: Text("Conference Call")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
@@ -113,7 +113,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name:
|
||||
summary.description: Text("IETF-C&S Conference Call")
|
||||
summary.dtstart: Time(ItipTime { start: 865198800, tz_id: 32768 })
|
||||
summary.location: Text("Conference Call")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:ADD
|
||||
@@ -203,7 +203,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name:
|
||||
summary.description: Text("IETF-C&S Conference Call")
|
||||
summary.dtstart: Time(ItipTime { start: 865198800, tz_id: 32768 })
|
||||
summary.location: Text("Conference Call")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
@@ -354,7 +354,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name:
|
||||
summary.description: Text("IETF-C&S Conference Call")
|
||||
summary.dtstart: Time(ItipTime { start: 865198800, tz_id: 32768 })
|
||||
summary.location: Text("Conference Call")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:ADD
|
||||
@@ -534,7 +534,7 @@ summary: cancel
|
||||
summary.description: Text("IETF-C&S Conference Call")
|
||||
summary.dtstart: Time(ItipTime { start: 865198800, tz_id: 32768 })
|
||||
summary.location: Text("Conference Call")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(PartialDateTime { year: Some(1998), month: Some(9), day: Some(1), hour: Some(21), minute: Some(0), second: Some(0), tz_hour: Some(0), tz_minute: Some(0), tz_minus: false }), count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [1], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("IETF Calendaring Working Group Meeting")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
@@ -673,7 +673,7 @@ summary: invite
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 888958800, tz_id: 32768 })
|
||||
summary.location: Text("The White Room")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
@@ -737,9 +737,9 @@ summary: update REQUEST
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 888958800, tz_id: 32768 })
|
||||
summary.location: Text("The White Room")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }, ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }, ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Review Accounts")
|
||||
~summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
~summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
|
||||
@@ -766,7 +766,7 @@ summary: cancel
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 888958800, tz_id: 32768 })
|
||||
summary.location: Text("The White Room")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
@@ -849,7 +849,7 @@ to: a@example.com
|
||||
summary: rsvp DECLINED
|
||||
summary.dtstart: Time(ItipTime { start: 888958800, tz_id: 32768 })
|
||||
summary.location: Text("The White Room")
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }, ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday) })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }, ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
|
||||
summary.summary: Text("Review Accounts")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
|
||||
@@ -289,10 +289,9 @@ BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com":mailto:e@example.c
|
||||
om
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@examp
|
||||
le.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com":mailto:e@example.com
|
||||
ORGANIZER:mailto:a@example.com
|
||||
UID:calsrv.example.com-873970198738777@example.com
|
||||
DTSTAMP:0
|
||||
@@ -316,16 +315,16 @@ STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@examp
|
||||
le.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:a@example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:conf@example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@e
|
||||
xample.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTION:mailto:b@example.
|
||||
com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=NEEDS-AC
|
||||
TION:mailto:e@example.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=NEEDS-ACTIO
|
||||
N:mailto:e@example.com
|
||||
ORGANIZER:mailto:a@example.com
|
||||
UID:calsrv.example.com-873970198738777@example.com
|
||||
DTSTAMP:0
|
||||
@@ -428,10 +427,10 @@ BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=ACCEPTED:
|
||||
mailto:e@example.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@examp
|
||||
le.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=ACCEPTED:mai
|
||||
lto:e@example.com
|
||||
ORGANIZER:mailto:a@example.com
|
||||
UID:calsrv.example.com-873970198738777@example.com
|
||||
DTSTAMP:0
|
||||
@@ -535,10 +534,10 @@ BEGIN:VEVENT
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@ex
|
||||
ample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=DECLINED:
|
||||
mailto:e@example.com
|
||||
ATTENDEE;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example.com":mailto:c@examp
|
||||
le.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=DECLINED:mai
|
||||
lto:e@example.com
|
||||
ORGANIZER:mailto:a@example.com
|
||||
UID:calsrv.example.com-873970198738777@example.com
|
||||
DTSTAMP:0
|
||||
@@ -643,14 +642,14 @@ STATUS:CONFIRMED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exam
|
||||
ple.com":mailto:c@example.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example
|
||||
.com":mailto:c@example.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:a@example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:conf@example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal;PARTSTAT=NEEDS-ACTION:mailto:d@e
|
||||
xample.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=DECLINED:
|
||||
mailto:e@example.com
|
||||
ATTENDEE;RSVP=TRUE;DELEGATED-FROM="mailto:c@example.com";PARTSTAT=DECLINED:mai
|
||||
lto:e@example.com
|
||||
ORGANIZER:mailto:a@example.com
|
||||
UID:calsrv.example.com-873970198738777@example.com
|
||||
DTSTAMP:0
|
||||
@@ -719,8 +718,8 @@ STATUS:CANCELLED
|
||||
SUMMARY:Phone Conference
|
||||
DTEND:19970701T190000Z
|
||||
DTSTART:19970701T180000Z
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@exam
|
||||
ple.com";SCHEDULE-STATUS=2.0:mailto:c@example.com
|
||||
ATTENDEE;CUTYPE=INDIVIDUAL;PARTSTAT=DELEGATED;DELEGATED-TO="mailto:e@example
|
||||
.com";SCHEDULE-STATUS=2.0:mailto:c@example.com
|
||||
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:mailto:a@example.com
|
||||
ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE;CUTYPE=ROOM:mailto:conf@example.com
|
||||
ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:mailto:d@example.com
|
||||
|
||||
@@ -310,7 +310,7 @@ to: b@example.com, d@example.com
|
||||
summary: update REQUEST
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }, ItipParticipant { email: "d@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 883648800, tz_id: 32768 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Send Status Reports to Area Managers")
|
||||
~summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }, ItipParticipant { email: "c@example.com", name: None, is_organizer: false }, ItipParticipant { email: "d@example.com", name: None, is_organizer: false }])
|
||||
~summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
@@ -343,7 +343,7 @@ to: c@example.com
|
||||
summary: cancel
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }, ItipParticipant { email: "c@example.com", name: None, is_organizer: false }, ItipParticipant { email: "d@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Create the requirements document")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:CANCEL
|
||||
@@ -447,7 +447,7 @@ to: a@example.com
|
||||
summary: rsvp NEEDS-ACTION
|
||||
summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }, ItipParticipant { email: "d@example.com", name: None, is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 883648800, tz_id: 32768 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count: Some(10), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: Some(1), weekday: Friday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Send Status Reports to Area Managers")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
|
||||
@@ -43,7 +43,7 @@ to: bernard@example.net
|
||||
summary: invite
|
||||
summary.attendee: Participants([ItipParticipant { email: "cyrus@example.com", name: Some("Cyrus Daboo"), is_organizer: true }, ItipParticipant { email: "bernard@example.net", name: Some("Bernard Desruisseaux"), is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 1243882800, tz_id: 167 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
@@ -54,8 +54,8 @@ SUMMARY:Review Internet-Draft
|
||||
DTEND;TZID=America/Montreal:20090601T160000
|
||||
DTSTART;TZID=America/Montreal:20090601T150000
|
||||
TRANSP:OPAQUE
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;RSVP=
|
||||
TRUE;PARTSTAT=NEEDS-ACTION:mailto:bernard@example.net
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;
|
||||
RSVP=TRUE;PARTSTAT=NEEDS-ACTION:mailto:bernard@example.net
|
||||
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:cyrus@e
|
||||
xample.com
|
||||
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
|
||||
@@ -181,7 +181,7 @@ to: cyrus@example.com
|
||||
summary: rsvp ACCEPTED
|
||||
summary.attendee: Participants([ItipParticipant { email: "cyrus@example.com", name: Some("Cyrus Daboo"), is_organizer: true }, ItipParticipant { email: "bernard@example.net", name: Some("Bernard Desruisseaux"), is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 1243882800, tz_id: 167 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
@@ -191,8 +191,8 @@ BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
DTEND;TZID=America/Montreal:20090601T160000
|
||||
DTSTART;TZID=America/Montreal:20090601T150000
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=
|
||||
REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@example.net
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
|
||||
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@example.net
|
||||
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
|
||||
UID:9263504FD3AD
|
||||
DTSTAMP:0
|
||||
@@ -203,8 +203,8 @@ BEGIN:VEVENT
|
||||
SUMMARY:Review Internet-Draft
|
||||
DTEND;TZID=America/Montreal:20090602T160000
|
||||
DTSTART;TZID=America/Montreal:20090602T150000
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=DECLINED;ROLE=
|
||||
REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@example.net
|
||||
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=DECLINED;
|
||||
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@example.net
|
||||
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
|
||||
RECURRENCE-ID;TZID=America/Montreal:20090602T150000
|
||||
UID:9263504FD3AD
|
||||
@@ -339,7 +339,7 @@ to: cyrus@example.com
|
||||
summary: rsvp DECLINED
|
||||
summary.attendee: Participants([ItipParticipant { email: "cyrus@example.com", name: Some("Cyrus Daboo"), is_organizer: true }, ItipParticipant { email: "bernard@example.net", name: Some("Bernard Desruisseaux"), is_organizer: false }])
|
||||
summary.dtstart: Time(ItipTime { start: 1243882800, tz_id: 167 })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None })
|
||||
summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: Some(5), interval: Some(1), bysecond: [], byminute: [], byhour: [], byday: [], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: None, rscale: None, skip: None })
|
||||
summary.summary: Text("Review Internet-Draft")
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REPLY
|
||||
|
||||
@@ -176,8 +176,8 @@ BEGIN:VEVENT
|
||||
SUMMARY:Lunch
|
||||
DTEND:20090602T170000Z
|
||||
DTSTART:20090602T160000Z
|
||||
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;ROLE=
|
||||
REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@example.com
|
||||
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
|
||||
ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@example.com
|
||||
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
|
||||
UID:9263504FD3AD
|
||||
DTSTAMP:0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
use ahash::AHashMap;
|
||||
use calcard::{
|
||||
common::PartialDateTime,
|
||||
common::{IanaString, PartialDateTime},
|
||||
icalendar::{ICalendar, ICalendarProperty, ICalendarValue},
|
||||
};
|
||||
use groupware::scheduling::{
|
||||
@@ -422,11 +422,11 @@ fn normalize_ical(mut ical: ICalendar, map: &mut AHashMap<PartialDateTime, usize
|
||||
.filter(|(comp_id, _)| {
|
||||
ical.components[0]
|
||||
.component_ids
|
||||
.contains(&(*comp_id as u16))
|
||||
.contains(&(*comp_id as u32))
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
comps.sort_unstable_by_key(|(_, comp)| *comp);
|
||||
ical.components[0].component_ids = comps.iter().map(|(comp_id, _)| *comp_id as u16).collect();
|
||||
ical.components[0].component_ids = comps.iter().map(|(comp_id, _)| *comp_id as u32).collect();
|
||||
|
||||
for comp in &mut ical.components {
|
||||
for entry in &mut comp.entries {
|
||||
|
||||
@@ -732,7 +732,7 @@ BEGIN:VFREEBUSY
|
||||
DTSTART:20060104T140000Z
|
||||
DTEND:20060105T220000Z
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20060104T150000Z/20060104T160000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20060104T190000Z/20060104T200000Z;20060105T170000Z/20060105T180000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20060104T190000Z/20060104T200000Z,20060105T170000Z/20060105T180000Z
|
||||
FREEBUSY;FBTYPE=BUSY-UNAVAILABLE:20060105T100000Z/20060105T120000Z
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
@@ -753,8 +753,8 @@ DTSTART:20060101T000000Z
|
||||
DTEND:20060104T140000Z
|
||||
DTSTAMP:20250505T105255Z
|
||||
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20060102T100000Z/20060102T120000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20060102T150000Z/20060102T160000Z;20060102T170000Z/20060102T180000Z;
|
||||
20060103T100000Z/20060103T120000Z;20060103T170000Z/20060103T180000Z;20060104T100000Z/20060104T120000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20060102T150000Z/20060102T160000Z,20060102T170000Z/20060102T180000Z,
|
||||
20060103T100000Z/20060103T120000Z,20060103T170000Z/20060103T180000Z,20060104T100000Z/20060104T120000Z
|
||||
END:VFREEBUSY
|
||||
END:VCALENDAR
|
||||
"#;
|
||||
|
||||
@@ -316,7 +316,7 @@ CATEGORIES:Technology,B2B,Solutions,Services
|
||||
NOTE:Business hours: Mon-Fri 9:00-17:30 GMT. Closed on UK bank holidays. VAT
|
||||
Reg: GB123456789
|
||||
TZ:Z
|
||||
GEO:51.5074\;-0.1278
|
||||
GEO:51.5074;-0.1278
|
||||
KEY;TYPE=PGP:https://pgp.example.com/pks/lookup?op=get&search=info@acme-solu
|
||||
tions.example
|
||||
UID:urn:uuid:a9e95948-7b1c-46e8-bd85-c729a9e910f2
|
||||
|
||||
Reference in New Issue
Block a user