Commit graph

600 commits

Author SHA1 Message Date
Aleksander Machniak
8d688a4189 Fix email address case-sensitivity in a few places 2023-05-10 15:20:50 +02:00
Aleksander Machniak
f70c6d3508 Fix cache issue with handling more than 500 records 2023-05-03 10:31:53 +02:00
Christian Mollekopf
d711a32fab php8 fixes 2023-05-03 09:40:46 +02:00
Christian Mollekopf
f3592eaf3b Always fetch the full result in kolab_storage_cache::select
The previous behaviour did not work in the addressbook if more than 500
results were provided, because nothing turned the uid only fetch into
the full data, resulting in "empty" result records.
This solution seems to work fine for the cases tested and avoids having
to completely different codepaths based on a number of records found.
2023-05-03 09:25:49 +02:00
Aleksander Machniak
68eaf60aca Fix moving objects between DAV folders
The code does "move object then read it" and "read it" was failing
because the folder cache wasn't up-to-date. We force re-synchronization
by reseting the state properly after move().
2023-05-01 12:11:33 +02:00
Aleksander Machniak
5cca91ab6c CS improvements 2023-01-25 15:13:27 +01:00
Christian Mollekopf
bac56c4cd1 PHP 8 fixes
Reviewers: #hkccp_developers

Differential Revision: https://git.kolab.org/D4016
2023-01-25 14:58:01 +01:00
Christian Mollekopf
de4e56a561 PHP 8 fixes 2023-01-24 11:04:42 +01:00
Aleksander Machniak
b55ce1d203 Support Postgres database for Kolab cache 2023-01-20 15:10:29 +01:00
Aleksander Machniak
7810d77969 PHP8 fixes - code style 2023-01-18 16:38:22 +01:00
Christian Mollekopf
d988dac141 PHP 8 fixes
Differential Revision: https://git.kolab.org/D3995
2023-01-18 14:50:31 +01:00
Aleksander Machniak
8e3561758a Add support for Cyrus v3 Freebusy service 2023-01-11 11:59:49 +01:00
Aleksander Machniak
a3ef1eedf1 CalDAV driver for Tasks
includes cache syncronization fixes and PHP8 fixes.
2023-01-03 10:42:54 +01:00
Aleksander Machniak
ca07e581dd Support uploads API of Roundcube >= 1.7 2022-12-27 12:38:34 +01:00
Aleksander Machniak
e5f57f6160 Calendar/Tasklist: De-duplicate attachments handling code 2022-12-21 14:03:22 +01:00
Aleksander Machniak
371a664e92 CalDAV attachments support, PHP8 fixes 2022-12-15 10:06:29 +01:00
Aleksander Machniak
c401074cbb Fix so temp. subscriptions aren't added to mail folders list 2022-12-12 12:47:22 +01:00
Aleksander Machniak
24e2e1ce84 Fix infinite loop in kolab_storage_dataset 2022-12-09 14:39:46 +01:00
Aleksander Machniak
0530881f4b Remove dependency on kolabcalendaring/kolabformat in CalDAV driver, various PHP8 support fixes 2022-12-05 15:07:23 +01:00
Aleksander Machniak
a9531c9336 Fix libcalendaring_recurrence::end() 2022-12-02 15:57:59 +01:00
Aleksander Machniak
e4271ccfd8 Replace Horde with Sabre in libcalendaring_recurrence 2022-12-02 14:51:33 +01:00
Aleksander Machniak
2079f6e3fa Make sure generated folder IDs do not start with a digit 2022-11-30 16:15:43 +01:00
Aleksander Machniak
52caa307fd Fix error when creating a DAV contacts folder 2022-11-30 13:29:22 +01:00
Aleksander Machniak
1b33810f71 Try to support PHP >= 7.2, small refactoring 2022-11-30 12:54:29 +01:00
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