There is currently a test in
occurrenceiterator.cpp that is filtering out cancelled occurrences for recurring incidences. This was added in commit 47403eb0 after a tentative to correct bug 282591 (actual fix for the bug is in fact commit d4edcf0f), see https://bugs.kde.org/show_bug.cgi?id=282591 for reference discussions.
This is creating a situation where a cancelled occurrence for a recurring meeting is not listed by the iterator, while a cancelled non recurring incidence is listed. It seems a bit inconsistent.
The proposed MR is actually more to start a discussion on the matter than a proper fix or evolution. I see three possibilities:
- we filter also single occurrence incidence (current MR),
- we remove the filtering of exceptions for recurring events (revert commit 47403eb0) and let downstream users of OccurrenceIterator deal with cancelled events (like displaying them greyed out, or with a "cancelled" label),
- we keep it like it is.
Both two first possibilities are introducing downstream behavioural changes. Either cancelled occurrences will pop in again without notice (if downstream is not updating to distinguish them), or non recurring cancelled events will pop out.
This is a tricky situation in my opinion. I would prefer myself to revert the commit introducing the filtering and let downstream handle cancelled events. But what do you think about ? @dfaure or @winterz please don't hesitate to ping any other persons who may be interested by this discussion. Thank you.