From: Jack Kamm <jackkamm@gmail.com>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: emacs-orgmode@gnu.org, mail@nicolasgoaziou.fr
Subject: Re: [RFC] ox-icalendar: Unscheduled tasks & repeating tasks
Date: Sun, 16 Apr 2023 10:19:12 -0700 [thread overview]
Message-ID: <87a5z7bv8v.fsf@gmail.com> (raw)
In-Reply-To: <878retlb89.fsf@localhost>
Ihor Radchenko <yantar92@posteo.net> writes:
>> So technically, a standalone DEADLINE + repeater isn't allowed -- a
>> repeating task must always have a start date.
>
> May we then use org-deadline-warning-days/timestamp warntime spec as DTSTART?
> VALARM component is not fitting for warning days anyway.
>
>> But still, maybe we should stick to the requirement, and only export
>> repeater on SCHEDULED. That would simplify the implementation. The
>> downside is that repeating deadlines won't show up in iCalendar, which
>> seems undesirable.
>
> Agree. We should better stick to the spec.
I took a closer look into how other programs handle RRULE, DTSTART, DUE.
I tried the following CalDav servers:
Nextcloud, radicale
And the following clients:
Tasks.org, Thunderbird, Evolution. (I did not use Nextcloud client
because it doesn't support repeating tasks, even though the Nextcloud
server does).
Thunderbird and Evolution clients do not allow creating repeating tasks
without start date -- if you try to do so, they will force you to
specify one.
Tasks.org client does allow repeating tasks with only a deadline (no
start date). Nextcloud and radicale servers happily accept the
repeating deadline from Tasks.org without start date. When I download
the ICS file from the server, the VTODO contains RRULE and DUE, but not
DTSTART. When I validate the ICS file with icalendar.org [1], it accepts
the ICS as valid, even though it seemingly violates the spec by missing
DTSTART.
So, it seems there is some inconsistency about this in the iCalendar
ecosystem.
I have not yet reached a firm conclusion on the best solution, but am
leaning towards your suggestion to use org-deadline-warning-days for
DTSTART in this case. I'll try to have a more concrete, updated patch on
this ready in a couple weeks or so.
[1] https://icalendar.org/validator.html
next prev parent reply other threads:[~2023-04-16 17:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-26 18:56 [RFC] ox-icalendar: Unscheduled tasks & repeating tasks Jack Kamm
2023-03-27 11:59 ` Ihor Radchenko
2023-03-31 5:55 ` Jack Kamm
2023-03-31 13:07 ` Ihor Radchenko
2023-03-31 15:50 ` Jack Kamm
2023-03-31 17:51 ` Ihor Radchenko
2023-03-31 22:20 ` Jack Kamm
2023-04-01 8:30 ` Ihor Radchenko
2023-04-02 0:47 ` Jack Kamm
2023-04-02 8:48 ` Ihor Radchenko
2023-04-02 15:34 ` Jack Kamm
2023-04-02 16:32 ` Ihor Radchenko
2023-04-14 16:57 ` Jack Kamm
2023-04-14 18:46 ` Ihor Radchenko
2023-04-15 3:13 ` Jack Kamm
2023-04-15 9:56 ` Ihor Radchenko
2023-04-16 17:19 ` Jack Kamm [this message]
2023-06-11 15:35 ` [PATCH] " Jack Kamm
2023-06-12 10:36 ` Ihor Radchenko
2023-06-17 17:32 ` Jack Kamm
2023-06-18 11:28 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a5z7bv8v.fsf@gmail.com \
--to=jackkamm@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=mail@nicolasgoaziou.fr \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.