-
Notifications
You must be signed in to change notification settings - Fork 262
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
Process iMip responses #6802
Comments
Comment from my PR: The way we currently only load envelope data means we can never really process all messages as we don't know whether they contain an iMIP body part. Suggestion 1: only process messages that are opened (where the loading of the body data means we would update the is_imip_field in the db and later pick it up in the background job) Benefits: efficient, no overhead Suggestion 2: get all new messages in a mailbox and additionallyload their body content too in a background job (whether we extend an exisiting job or add a new one could be debatable - I would tend towards option 1). Benefit: we would definitely catch all messages I would prefer option 2. For the preformance issue I propose the following solution (thanks to @st3iny who helped me on this): We could extend the horde cache and implement our own horde cache class that lets us cache body content, or we could use ICache. It is more work but it would enable us to cache IMAP messages making Mail a lot faster. Since IMAP messages are immutable, we could cache them indefinitely or until they are deleted - or we could set a cache limit of a couple of weeks or even a month, it would still help us. I would not cache message bodies in the database. It would also help with full text search for mail, etc... An input from @kevincox was that we should also process messages that are being opened immediately as to not lose their content when they are deleted. There th background processing would miss the message. |
Another point to think of: how do we handle the state of what we replied in a REQEST type iMIP method? We have 3 options plus guests & comment. We should ideally remember the state we submitted and possibly how many guests and comments. Currently, we have no way to store that in the db. we could add a table that stores the sent ICS. or we could treat the ICS as an additional attachment and store that in the appdata folder to parse back from. Or we could read from calendar. |
#6812 is not done. |
Is your feature request related to a problem? Please describe.
See #160
Describe the solution you'd like
Backend:
The text was updated successfully, but these errors were encountered: