-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
iCalendar support #930
Comments
From the duplicated issue #1661 I would escalate one additional simple sub-feature:
NOTE: development could be separated into two stages: basic & advanced
And for advanced and more complex development: |
In terms of quick off-hand estimation
The ordering of 3, 4, 5 and 6 will depend on usage. Personally, sending a response is more useful to me than filtering email by attachment (which is a pre-requisite for 3 I don't think we currently support) so I'd be inclined to do 4 and 5 first. But I'm not picking this up as there's lots of higher priority things to fix for me. |
Potential library for iCal parsing: https://github.com/mangstadt/biweekly |
Seeing noname.ics in my email inbox keeps bugging me so I started looking into this. I've done some bits of work to K-9 for a while now, but the handling of Part's actual data still confuses me. I'm not quite sure yet where the parsing of the ICS file ought to take place yet. What I do know is that the ICS file has a lot of complexity to it! There's lots of properties that probably most people never use. And there's a fair bit people do use. I suspect a first PR will add basic support for simple events with participants. We certainly don't need to deal with every field. Firstly because it's an email app, so stuff like Alarms is obviously out of scope. Secondly because supporting endless complexity is burdensome. And finally because it's a mobile client, so trying to fit in lots of minor information is going to use up valuable real estate. Given ICS supports attachments inline there will need to be tests done on iCalendar files with large attachments to make sure we don't crash K-9 trying to parse an ICS file. |
Parsing this is probably best implemented by creating a new type of Viewable, similar to how mail headers are displayed in a special manner |
So I didn't go down the Viewable route. It is a new Part type but in several places we make the assumption that viewable actually means HTML / TEXT / WebView capable. So instead I added some extra arguments. Someone familiar with the database/LocalPart code will probably tell me I'm doing stuff in the wrong place. I know the constructor of ICalPart is doing stuff it really shouldn't. What I don't know is quite where that logic does belong. Anyway: spike development: https://github.com/philipwhiuk/k-9/commits/ICSsupport And fancy image: Note that the names are fine in reality - I just blanked them except for mine. I still need to do lots of work (in addition to feedback on LocalParts etc):
|
Assigned to me as I'm actively developing this. I fixed Textual parts mostly. However:
|
I assume none of this has shipped yet in 5.115 on F-Droid? The behavior I'm noticing is that K9 recognizes that there's an embedded .ics file but is always zero-byte and crashes the calendar handler. However, for actual ics attachments, as such from gmail and friends, the handler correctly passes off the attachment to the calendar app and the appointment is correctly added. So I assume this is all about parsing the embedded "non-attached" ics? |
Correct - it's not been merged. It won't be merged until after the next stable release (5.2x) because I really want us to do a release, we are way overdue, and I don't create new blockers. I'm not exactly sure what you mean by embedded - Outlook for example still creates attachments, it's just the UI presents it nicely. K-9 certainly should be passing off the ICS files correctly to the handler in 5.115 |
Another mechanism in use is to simply put the vcalendar contents into the body of an email message (this is not Outlook compatible but seems to be in adoption among other mail clients/systems). It looks like K-9 represents both the inline BEGIN:VCALENDAR and the MIME attachment as two separate attachments. So I think that's in the realm of what he means. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment was marked as off-topic.
This comment was marked as off-topic.
Is this planned before the name change to Thunderbird this year(2024)? |
Can't say I can contribute to the technical discussion but I can outline the problem I'd love solved by this. I'm greatly missing this key functionality and actively looking for alternative mail apps for the interim. I tend to get a number of emails during the day and it's very easy to miss an appointment or meeting as I haven't manually added the attached ICS file to my calendar app of choice. Also, typically when you add ICS files like this, the wider context is not held in memory by the external calendar app for good reason, so if updates are made to the event, there will be duplicates in your calendar when attached and careful, manual remediation is required. |
Having the ability to view and accept (including sending a reply (!)) meetings on mobile would be a pretty great option.
Steps required for this:
Step four should probably not forget the security signing hook (e.g. openkeychain).
The text was updated successfully, but these errors were encountered: