COMPLETED is strictly DATE-TIME

Milan Crha mcrha at redhat.com
Tue Feb 6 05:52:25 PST 2018


	Hi,
I just realized that since libical 3.0 the COMPLETED property is
provided as strictly DATE-TIME, while previous versions (like 2.0)
could save DATE there. I know RFC 5545 defines the property
as DATE-TIME only, but there are plenty of already saved components
which are DATE.

The worse is that when I try to save the date-only value into the
COMPLETED property, then it is changed to:

   COMPLETED:00000000T000000

and when I read it back from the disk I receive:

   X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:Can't parse as DATE-TIME 
    value in COMPLETED property. Removing entire property: 00000000T000000

and when I try to load the already saved DATE value, it's turned into:

   X-LIC-ERROR;X-LIC-ERRORTYPE=PARAMETER-VALUE-PARSE-ERROR:Invalid VALUE 
    type for property COMPLETED: VALUE=DATE

That's pretty bad behaviour, breaking backward compatibility, and the
most problematic I cannot just fix this on load, because it's the
parses which breaks it first (or I do not know how to do that).

Is there any way to deal with this situation gracefully, please?

	Thanks and bye,
	Milan



More information about the libical-devel mailing list