True, but I’m still unconvinced that the correct solution is to silently ignore the entire event; it’s a terribly fragile approach.
Please understand that DAVdroid uses libraries for iCal and VCF handling. DAVdroid either gets data from the libraries or it doesn’t. So the discussion about handling of erroneous iCal files would have to go to the iCal4j forums. I understand that end users don’t care, but discussing the issue here won’t improve the situation.
Granted, though, I’m not sure how it should notify the user there was a problem. I certainly wouldn’t want it throwing up an error every time it tried to read the event.
That’s the problem we’re constantly exposed to. Is it better to notify the user of every little mistake and break the whole thing or is it better to ignore errors, possibly resulting in unexpected behaviour or even in data loss?
At the moment, I think that ignoring invalid data is a good approach. DAVdroid is not an iCal validator; if certain contacts or events don’t work, users will notice (you did ;)). Also, I don’t like settings, so implementing two ways (notify/ignore) and let the user choose (most users will choose the wrong setting and then complain) isn’t such a good idea.
I’ll close this for now. If you have a good idea on how to deal with such errors, please open a new issue for that.