Wrong assumption: one hour event length when start == end
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.1k
- Forks
- 233
- Avg merge
- 1h 44m
- Merged PRs (30d)
- 1
Description
(This was updated on 2017-03-25 following the discussion below; original text included further down (though largely irrelevant and wrong))
While zero-duration events probably make little sense, events without a duration (i.e. an undefined duration) do.
According to the spec, such events should not have DTEND defined. Unfortunately, most clients allow DTSTART == DTEND, which the spec says is strictly unacceptable.
That said, khal/ikhal do not let you specify "no end time", and also default to one-hour duration in cases where the end time is set to be the same as the start time.
Please see the discussion following the summary by @hobarrera below: https://github.com/pimutils/khal/issues/610#issuecomment-289107374
----- Original message (ignore it, but included for completeness ----
Events with 0 duration are perfectly acceptable by my reading of the standard (RFC 5545), yet if khal encounters such an event, is says:
warning: Event start time and end time are the same. Assuming the event's
duration is one hour.
This is a false assumption. On the one hand, the standard assumes a default duration of one day, not one hour:
For cases where a "VEVENT" calendar component specifies a "DTSTART"
property with a DATE value type but no "DTEND" nor "DURATION" property,
the event's duration is taken to be one day.
It does seem that the standard would like you to leave off DTEND for
zero-duration events:
For cases where a "VEVENT" calendar component specifies a "DTSTART"
property with a DATE-TIME value type but no "DTEND" property, the event
ends on the same calendar date and time of day specified by the
"DTSTART" property.
However, nowhere does it say that for this, the DTEND property MUST be
absent.
Therefore, I think khal should simply honour an event as being zero-duration
if DTSTART == DTEND.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how khal and ikhal handle VEVENT values where DTSTART equals DTEND, then read the linked discussion and the RFC behavior quoted in the issue. The change is done when zero-duration events are preserved rather than converted to one hour, and users can represent events without an end time.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100