Summary:
Refactored birthdays handling code. The "all birthdays" request is detected
and for this case year is not modified and recurrence rule is added.
Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen
Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen
Differential Revision: https://git.kolab.org/D117
Summary:
Fixes race-conditions between Kolab folders and Roundcube core
where skip_deleted/threading could be set for operations outside
of Kolab plugins, causing e.g. inability to see \Deleted messages.
Fixes T1145.
Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen
Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen
Maniphest Tasks: T1145
Differential Revision: https://git.kolab.org/D112
Summary:
Performance: Consolidate metadata requests (#3989)
This changes number of cache requests from 4 to 2 for each groupware folder.
Performance: Don't initialize all folders in driver constructor (#3971)
Fix regression in last optimisations
Performance: Optimize kolab_storage_folder::get_object() to use one sql query instead of two
Before the change to get an object by UID we first resolve UID to IMAP-UID
and then fetch the object data by IMAP-UID - two select queries. Now we
directly select the data by UID.
Performance: Limit number of SQL queries needed for "object relations update" operation
Performance: Limit number of SQL queries when "attaching" relations/tags to list of tasks/notes (#3969)
Performance: Optimize get_message_relations() to use one query per-folder less
Fix bug where in kolab_storage::select() could not initialize/reset folder cache properly
Performance: Skip another few cache selects
Performance: Get event-to-mail relations once per events list, instead of doing SELECT for every event (including recurrences)
Unify mail-relations handling across plugins
Performance: Use initialized calendars if available, skipping redundant folder cache synchronization
Performance: Don't initialize configuration folders until they are needed
Performance: Skip redundant SELECTs on mail preview and print pages
Performance: Skip some redundant SELECT queries on event update
Performance: Skip one SELECT query when deleting relations
Performance: Better displayname annotation handling
Performance: SKip some SQL queries on "empty" tasklist refresh
Performance: Make objects moving faster (less SQL and less IMAP operations) using COPYUID
Merge remote-tracking branch 'remotes/origin/dev/perf'
Differential Revision: https://git.kolab.org/D91