-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
invalid UTC-OFFSET from iCloud prevent parsing the feed #245
Comments
There's no place on Earth that has a 17 hour, 30 minute UTC offset. |
I completely agree with you, but it's what we get from iCloud calendars ! (including multiple feeds)
I've checked multiple iCloud feed, and this value (1730) seems to be always with the "BMT" Timezone, here is a sample:
But some others invalid values also exists from iCloud feeds:
This was also discussed on this issue: After investigations, this issue from iCloud feed is not new, and others projects also got problem to deal with it: |
If there's one thing that's certain, it's that Apple won't bother to fix their bug. If there's another thing that's certain, it's that Apple is rubbish at writing cloud services. |
Having the same problem. with the offset being
is there any news on how to fix it? |
The problem is that the data is bad, so you should fix the data; I don't intend to allow nonsense inputs like that, sorry. |
But that is directly from a icloud calander feed, i don't have control over that. |
Can't it be a pragmatic solution to ignore this kind of invalid data instead of throwing an exception ? |
When exceptional situations occur, we should throw exceptions. Wildly bad offsets are exceptional. The right thing to do is to It's your job to
Sure you do. You can check for bad offsets in your code, and do something about them. A library can't possibly know what every application developer will want to do with an exceptional situation. That's why the library |
Well you two have an anonymous person who advocated on your behalf, and since he sits near me, he's harder for me to ignore. :P By way of explanation: behind the scenes, ical.net uses a So I'll think about this a bit more... |
I guess this was the reason why the original DDay.iCal parsed it manually with some regex. |
Even if the exception is catched, it will continue to fail the feed parsing, and then it's clearly not a possible solution to simply catch exception. Avoid throwing exception is not an option to do bad code, but it could be a starting point of reflexion to imagine a better solution, including the management of this kind of partially incorrect feed ! |
The IANA tzdb says about Guam:
so before 1845 -14:21 seems to have been a valid offset in Guam (at least IANA says so). libical's vzic utility makes For Manila it says
|
When an iCal feed contains UTC-Offset with 4 numbers, there is a parsing exception (feed received from iCloud calendars).
Here is an example:
As recently fixed (76025b3), the parsing is now done on 6 characters (hhmmss)
But the seconds are optionnals, according to the rfc 5545:
The text was updated successfully, but these errors were encountered: