Commit graph

576 commits

Author SHA1 Message Date
Aleksander Machniak
f5d95d5a92 Use Sabre/VObject v4, Partial PHP8 support 2022-11-29 15:54:43 +01:00
Aleksander Machniak
48027bc26e Optionally store original DAV object content in the cache
... up to the specified size limit
2022-11-28 12:28:04 +01:00
Aleksander Machniak
a674b5e9ad Limit number of DAV requests when fetching many objects 2022-11-25 14:24:28 +01:00
Aleksander Machniak
454e21c47e Performance: Cache DAV home(s) discovery, skip redundant DAV request 2022-11-25 12:03:29 +01:00
Aleksander Machniak
5fbfa61a4b Contact groups 2022-11-10 13:38:48 +01:00
Aleksander Machniak
b6cc8c0715 CalDAV: Multi-folder support 2022-11-08 12:34:35 +01:00
Aleksander Machniak
f9e8f7f084 Sort folders alphabetically 2022-11-04 12:25:14 +01:00
Aleksander Machniak
114af8eb3c Multi-folder support for CardDAV and CalDAV drivers 2022-11-04 12:08:22 +01:00
Aleksander Machniak
685370e309 Prevent from a fatal error when DAV connection fails 2022-10-18 11:18:01 +02:00
Aleksander Machniak
3c44d7f768 Implement delete_all() 2022-10-17 13:49:59 +02:00
Aleksander Machniak
1193d65f57 Small cleanup 2022-10-16 14:22:59 +02:00
Aleksander Machniak
c8f9065471 Fix caching recurrent events' end date 2022-10-16 12:33:04 +02:00
Aleksander Machniak
0159e3c115 CardDAV support 2022-10-14 16:34:19 +02:00
Aleksander Machniak
f53ff8edec Fixed folders discovery, fixed xml formatting in debug log 2022-10-12 16:19:31 +02:00
Aleksander Machniak
b74301fa2b PHP7 support 2022-10-12 13:36:57 +02:00
Aleksander Machniak
5c6a7a2d6f CalDAV driver 2022-10-11 15:27:59 +02:00
Aleksander Machniak
af5461eb76 CalDAV driver 2022-10-06 15:59:53 +02:00
Aleksander Machniak
b0f306eaf1 Remove sensitivity settings 2022-09-14 12:45:30 +02:00
Aleksander Machniak
869bde56a8 Fix handling alarms related to the end of the event 2022-08-30 11:14:22 +02:00
Aleksander Machniak
24d2633ff6 Calendar: Fix attaching files on event creation 2022-01-13 12:12:20 +01:00
Aleksander Machniak
54f34fa71e Fix logging XML 2021-03-19 12:30:34 +01:00
Aleksander Machniak
d886a3bdfc Fix fatal error introduced with 'kolab_format_error_log' 2021-03-19 09:01:14 +01:00
Aleksander Machniak
5e3b3c455a Add a way to log xml payload on kolab format error 2021-03-17 13:38:06 +01:00
Aleksander Machniak
87fbaea696 PHP8 compatibility fixes
Summary: PHP8 fixes, CS fixes, short array syntax, indentation

Reviewers: #roundcube_kolab_plugins_developers

Subscribers: #roundcube_kolab_plugins_developers

Tags: #roundcube_kolab_plugins

Differential Revision: https://git.kolab.org/D2185
2021-02-01 08:30:34 +01:00
Christian Mollekopf
b4b3a48893 Remove folder typedata in-memory cache
Summary:
This caused the syncroton Ping command to miss new task folders.
Because the Ping command is long running we use:

    rcube::get_instance()->get_storage()->clear_cache('mailboxes', true);

To clear the cache before listing the folders. However, this doesn't
clear the in-memory cache in kolab_storage.

In list_folders we then ended up in the branch returning the folder list directly from
that outdated in-memory cache and thus missed the update.

Since we already cache the folder list and metadata it doesn't seem necessary to
cache it again. Removing it thus gives us a single place to invalidate it.

Differential Revision: https://git.kolab.org/D2143
2021-01-22 14:44:45 +01:00
Aleksander Machniak
f8ba2e6fc7 Fix kolab cache sync issues
Summary: Use QRESYNC, get rid of "scheduled" cache reset, other small improvements

Reviewers: #roundcube_kolab_plugins_developers, vanmeeuwen

Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen

Subscribers: vanmeeuwen, #roundcube_kolab_plugins_developers

Differential Revision: https://git.kolab.org/D1726
2020-11-20 10:36:10 +01:00
Aleksander Machniak
112516794f Fix PHP 7.4 deprecation warning on implode() 2020-08-11 12:55:49 +02:00
Aleksander Machniak
be07d88150 Use ?: operator 2019-11-08 09:05:40 +01:00
Aleksander Machniak
ec5e9b31ef Fix object_prettyname() result for other user folders if the id cannot be resolved to username (Bifrost#T253094) 2019-10-28 13:27:47 +01:00
Aleksander Machniak
843fb0d69d Fix regression where user canonification didn't work (Bifrost#251480)
Which led to not working some functionality e.g. user-specific LDAP addressbook
2019-10-15 09:25:06 +02:00
Aleksander Machniak
e0b593ba52 Prevent from creating empty objects 2019-09-29 10:03:00 +00:00
Aleksander Machniak
f08efd9170 Tags: Fix clearing internal cache after removing a tag 2019-09-29 09:18:55 +00:00
Aleksander Machniak
80a5241a9d Support user_specific source in kolab_users_directory (Bifrost#T236416)
Move kolab_auth/kolab_auth_ldap to libkolab/lib/kolab_ldap.
It ends up much simpler to add user_specific support and unify some
code than replace use of kolab_auth_ldap with rcube_ldap.

This means that libkolab plugin does not depend on kolab_auth plugin
anymore, but kolab_auth depends on libkolab, which is better situation.
2019-08-19 14:06:11 +00:00
Aleksander Machniak
6ba9838467 Fix setting 'fileid' on file objects (Bifrost#T227815) 2019-07-15 11:21:30 +00:00
Aleksander Machniak
15b0b9626b Merge branch 'dev/perf' 2019-07-08 12:01:28 +02:00
Aleksander Machniak
15a38f87e0 Other user uid mapping for Chwala (Bifrost#T216238)
...also use format "Doe, Jane (jane.doe)" consistently everywhere.
2019-06-19 10:59:46 +00:00
Aleksander Machniak
de726e8cac Fix PHP Fatal error: Call to a member function get() on a non-object 2019-06-14 11:57:50 +00:00
Aleksander Machniak
acd1740a29 Replace other user folders uids with display name (Bifrost#T216238)
Extends existing functionality that worked in kolab plugins' UI
in a way that:
- ldap lookups are optionally cached
- replacing is done also in Mail/Settings parts of the UI
- object_prettyname() uses the same technique as folders listings
2019-06-13 13:33:35 +00:00
Aleksander Machniak
4136938a7a Don't store invalid objects in cache
For example, before the change it was possible to end up with
a task object in a calendar folder cache.
2019-05-16 08:33:27 +00:00
Aleksander Machniak
4b955adbbd Use INSERT ... ON DUPLICATE KEY UPDATE in kolab cache
Bifrost#T61987
2019-05-07 10:37:45 +02:00
Aleksander Machniak
e69f920de3 Slim down kolab cache (drop xml column, change data format) (Bifrost#T61991) 2019-05-07 10:37:45 +02:00
Aleksander Machniak
f052c02103 Use cache fast-mode for contact groups
The same as tags/relations these objects are used quite often, so
we store group members in database and we can access them without
accessing imap.
2019-05-07 10:37:45 +02:00
Aleksander Machniak
bb419c34cb Use cache fast-mode for counting tasks 2019-05-07 10:37:45 +02:00
Aleksander Machniak
6ca01dc8c9 Fast-mode for configuration objects 2019-05-07 10:37:45 +02:00
Aleksander Machniak
46af51d315 Fast-mode for events/tasks/contacts and some code improvements 2019-05-07 10:37:45 +02:00
Aleksander Machniak
e05d7987f6 Fast-mode for files 2019-05-07 10:37:45 +02:00
Aleksander Machniak
818649624b Fast-mode for contacts
... there's still a place for improvement, we can make more requests use fast-mode.
2019-05-07 10:37:45 +02:00
Aleksander Machniak
2c98bf2811 Fast-mode for selecting kolab objects
... for now used only by kolab_notes plugin
2019-05-07 10:37:45 +02:00
Aleksander Machniak
f3d4dadffd Fix regression in handling contact groups 2019-05-07 10:37:45 +02:00
Aleksander Machniak
e1a4152820 Add possibility to bypass indexes cache only 2019-05-07 10:37:44 +02:00