Re: [calsify] JSCalendar: fractional seconds

"Robert Stepanek" <rsto@fastmailteam.com> Thu, 06 June 2019 13:07 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFB7B120099 for <calsify@ietfa.amsl.com>; Thu, 6 Jun 2019 06:07:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=QH2ZC5jv; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=d/tFDxQP
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JX6vfyOhjthO for <calsify@ietfa.amsl.com>; Thu, 6 Jun 2019 06:07:32 -0700 (PDT)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F334A12006D for <calsify@ietf.org>; Thu, 6 Jun 2019 06:07:31 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E36E221ED6 for <calsify@ietf.org>; Thu, 6 Jun 2019 09:07:30 -0400 (EDT)
Received: from imap7 ([10.202.2.57]) by compute1.internal (MEProxy); Thu, 06 Jun 2019 09:07:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=mime-version:message-id:in-reply-to :references:date:from:to:subject:content-type; s=fm2; bh=wlW2Toc cRJfrFjNQ4isCW4eSjTRoI/D6sr8hj7og/eA=; b=QH2ZC5jv1aUE08VrahWg3or TKuONK0Rnp3diCnlrQbG1j7WZ9gUqs6McCSTmILF4Oitd9Aiiaipgx9weoOlG0GT uVD+Vkh3q5Gnid0FUFvtnEuSw0NiiDvbdX2R5bsN3WTFzYyCR3mkGuN3SoAsZrpH RIohmwQ3kpuJUVhE5jZ4juecxyasnOSg/TO50HqonfK7W9K8mnU/De3UlazsXe24 Rok8H2R+p/FKRnRsI6a93VOdE8XwT+ik+qTymUmr3pBbwYgg16UZn7igxTJeizCv YlTgVqq929gOpYI+hFKOWV4dlFP2kZJBbvuWRAncUieYfjjayKFMLeO+LaNrHPA= =
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=wlW2To ccRJfrFjNQ4isCW4eSjTRoI/D6sr8hj7og/eA=; b=d/tFDxQP0xoVHkTRFdgKM5 05zJsfOBDRGgDSxNFYhr6cWL5+PTHuV+Ap5CFm7E9PeCfAD1SxcRC+GhqQdPtCwb 5FKdH7t7dHAA2Kzg7pwr1gTNeRwhftz7SxshHg9LsjsotvN5P4bwh05FUPQz0G/I 5OwHExwfiuMSG8DWnHcSjb4WPYEwXXQon4VCRyctXB/J2fiCqFY0aBUtVCDdR1BZ R3NAD1QgUreblbNgm42w7LJ4QSGXmXFV1rzDxJK0VRIJOXIu0N34GMno4F4snVr/ NKp+GRQ2ozqMv0m0XWbEi34cJQaEzV/sKJdXxqB2OoUpYDCEBa4Ii+htM1H6WUvg ==
X-ME-Sender: <xms:EhD5XNtWeQVGHTthVk9LUvcb1nY5YH1a-wGJM6Wjtm6sXJRsEIuB-A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrudeggedgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsegrtd erreerreejnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthho sehfrghsthhmrghilhhtvggrmhdrtghomheqnecuffhomhgrihhnpehivghtfhdrohhrgh enucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhmrghilhhtvggrmhdr tghomhenucevlhhushhtvghrufhiiigvpedt
X-ME-Proxy: <xmx:EhD5XHPGCZY-zFlIY5-gpL_n_86C_1dqhSwsa39ZqyghQeLub-dcgQ> <xmx:EhD5XJoAPoRIw4Ed9OpIC0yY53sPFVPuEKG1az-oxImQ4pvJKusBiQ> <xmx:EhD5XMEzh2ISs4MFmrhblAlRG_cD2Dp9wxmleWmzO8sVkIzBcD8Izw> <xmx:EhD5XMrxhftwY8GdzEIR1zBCJLYGNzVUN2JbzC8DXMf5YjA1yIFEmw>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 527A01801F3; Thu, 6 Jun 2019 09:07:30 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-662-gd87dd0f-fmstable-20190606v1
Mime-Version: 1.0
Message-Id: <ce49d3f7-5e6d-4125-9ffa-2c71848f5ea8@www.fastmail.com>
In-Reply-To: <3edec26e-1b87-4f30-97c7-d0a18cda615e@www.fastmail.com>
References: <b8c456ff-d350-456f-a662-d212620704ea@www.fastmail.com> <eb8ecdbc-a57b-83ec-0448-5de985e32d2a@dmfs.org> <3edec26e-1b87-4f30-97c7-d0a18cda615e@www.fastmail.com>
Date: Thu, 06 Jun 2019 14:07:30 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary="a864ba3e22bc494a810a4d141b012e2c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/T0oi-ZEzcU4xD3S-QUDBayAH8uc>
Subject: Re: [calsify] JSCalendar: fractional seconds
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Jun 2019 13:07:35 -0000

This is a draft specification, happy about any input:

2.1. FRACSEC parameter

 Parameter name: FRACSEC

 Purpose: This parameter is used to define fractional seconds for
 time values and durations. It is meant to preserve time precision
 on time values and duration with sub-second precision, without
 increasing the time value range within iCalendar.

 Description: This parameter MAY be specified on properties of type
 DATE-TIME or DURATION. The integral part of the float value MUST
 be zero. The value MUST NOT be negative. iCalendar
 implementations MAY ignore this parameter in date time arithmetic.
 Implementations MUST ignore presence of the FRACSEC parameter on
 RECURRENCE-ID properties when determining recurrence overrides.
 If present on a RECURRENCE-ID property, its value MUST match the
 FRACSEC parameter value on the DTSTART property.

 Format Definition:

 This parameter is defined by the following notation:

 fracsec-param = float

 Example: DTSTART;FRACSEC=0.03:20190605T133015



On Thu, Jun 6, 2019, at 1:56 PM, Ken Murchison wrote:
> As a related topic, a libical user/developer submitted a PR to add millisecond precision to time values. I haven’t committed it because it simply changes the DATETIME values which certainly isn’t backwards compatible. I suggested a new VALUE type but even that isn’t compatible with unaware clients. 
> 
> Regardless, there does appear to be *some* desire to have fractional seconds support in iCalendar. 
> 
> --
> Kenneth Murchison
> Cyrus Development Team
> FastMail US LLC
> murch@fastmaileam.com
> 
> 
> 
> On Thu, Jun 6, 2019, at 8:04 AM, Marten Gajda wrote:
>> Is this parameter is meant to preserve the fractional seconds for round-trips or are iCalendar clients encouraged to use the value?

>> I mean, would a client that's aware of X-FRACSEC have to match RECURRENCE-IDs ,RDATES and EXDATES taking the fractional seconds into account? 

>> I think we should advise against that and make clear that this is not meant to increase the precision of times in iCalendar, but merely to preserve it.

>> Btw, how do we cope with unaware clients doing partial updates? I.e. a client which is not aware of X-FRACSEC adds a new recurrence-override (not adding X-FRACSEC to RECURRENCE-ID). When being converted back to JSCalendar, this would result in an additional instance instead of an override.

>> Marten

>> Am 06.06.19 um 13:49 schrieb Robert Stepanek:
>>> It just occurred to me that the current JSCalendar RFC draft ambiguously defines if fractional seconds are allowed in the LocalDate time type.
>>> 
>>> To be clear: we intend to allow fractional seconds in the start property (and any other LocalDate property). The next version of the RFC draft will define this more clearly.
>>> 
>>> Unfortunately, fractional second date-times and durations can not be round-tripped out of the box with iCalendar. We will define an iCalendar extension parameter in the informational guide for mapping iCalendar and JSCalendar (draft-ietf-calext-jscalendar-icalendar):
>>>  * X-FRACSEC of value type INTEGER
>>>  * This parameter MAY be set on iCalendar properties of type DATE-TIME or DURATION. It MUST NOT be set more than once per property.
>>>  * The value of this parameter defines the fractional seconds of the DATE-TIME or DURATION type.
>>>  * This will allow iCalendar implementations not being aware of this extension parameter to display the time value "good enough" with second precision.
>>> 
>>> Please let me know if you prefer another approach.
>>> 
>>> Cheers,
>>> Robert
>>> 
>>> _______________________________________________
calsify mailing list
>>> calsify@ietf.org
>>> https://www.ietf.org/mailman/listinfo/calsify
>>> 
>> -- 
Marten Gajda
CEO

dmfs GmbH
Schandauer Straße 34
01309 Dresden
GERMANY

phone: +49 177 4427167
email: marten@dmfs.org

Managing Director: Marten Gajda
Registered address: Dresden
Registered No.: AG Dresden HRB 34881
VAT Reg. No.: DE303248743
>> _______________________________________________
>> calsify mailing list
>> calsify@ietf.org
>> https://www.ietf.org/mailman/listinfo/calsify
>> 
> 
> _______________________________________________
> calsify mailing list
> calsify@ietf.org
> https://www.ietf.org/mailman/listinfo/calsify
>