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
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
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.
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
Summary:
When a recurring event start date does not match a recurrence pattern
(e.g. an event recurring on Fridays is created on Thursday),
we move the start date to the date of the first occurrence.
There's also a checkbox to keep the old behavior where the
start date was not modified.
Reviewers: vanmeeuwen
Reviewed By: vanmeeuwen
Differential Revision: https://git.kolab.org/D536
https://issues.kolab.org/show_bug.cgi?id=4067 and (Bifrost#TT20881)
It happens that IMAP folder may contain many objects with the same UID.
The precise reason for this is unknown, but it can be e.g. a faulty
client or an error between "create a new object instance" and "remove the
old one". It causes various issues when editing such objects.
With the change we assume that the most recent object (with max. IMAP UID)
is the one that should be used and all the older instances will be removed
automatically.