Exported iCalendar VTODO can have DUE < DTSTART in violation of RFC 5545
(migrated from https://bugzilla.gnome.org/show_bug.cgi?id=769574)
Quoting https://tools.ietf.org/html/rfc5545#section-3.8.2.3 about the DUE property for tasks:
For cases where this property is specified in a "VTODO" calendar component that also specifies a "DTSTART" property, the value type of this property MUST be the same as the "DTSTART" property, and the value of this property MUST be later in time than the value of the "DTSTART" property.
Using the context menu in the task list, it is possible to violate both of the requirements.
The first requirement (same value type/all-day) is related to the solved https://bugzilla.gnome.org/show_bug.cgi?id=769573.
Regarding the second requirement, note that RFC 5545 even requires DUE > DTSTART as opposed to RFC 2445, which just requires DUE >= DTSTART. In practice, requiring only >= seems to be okay, and it's not even clear if the change in the specification was intentional, see https://www.rfc-editor.org/errata_search.php?rfc=5545&eid=4626 .
I have verified that this is still a bug on 3.40.1. The bug was a problem for me, because my phone refuses to sync tasks violating the second requirement. I don't use iCalendar tasks anymore, so I don't know if this is still an interoperability issue with other implementations but I suspect it is.