- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Aug 1 2017
Jul 30 2017
Since Roundcube 1.3 external javascript libraries are not anymore in the git repository. There's a script to download them and install in bin/install-jsdeps.sh (it uses jsdeps.json file in root folder). So, either we use -complete tarball (not /vendor folder there) or fetch js deps in package create stage. Or maybe in post-install script?
Jul 24 2017
Jul 21 2017
Reference to the ticket: T2009.
A low hanging fruit. Patch in my comment above.
Jul 20 2017
@vanmeeuwen Does https://git.kolab.org/rP0e8a8276f60b4cf99ef37d9e3b413153d80bcd98 fix this or we plan another solution?
@bruederli Do you remember what's the reason for https://git.kolab.org/source/iRony/browse/master/lib/Kolab/CalDAV/CalendarBackend.php;ead6159e01eb2b44b9f90665d17168cd14f5ce3b$91 to be not active?
ps. there's possible performance optimization in find_user_folders: don't use imap.list_folders('*'), instead depend on imap.get_metadata('*'), which we do anyway. But of course we should ask for the metadata we need, not all of them.
Now I see where's the problem:
- @vanmeeuwen, a side of the main reason of the issue (see below). There must be some bug somewhere because imap SELECT on a folder that has 'lr' for anyone should not fail.
- If you consider this code
# exclude shared and other user's namespace if ns_other is not None and folder.startswith(ns_other) and '_delegated_mailboxes' in user_rec: # allow shared folders from delegators if len([_mailbox for _mailbox in user_rec['_delegated_mailboxes'] if folder.startswith(ns_other + _mailbox + '/')]) = continue # TODO: list shared folders the user has write privileges ? if ns_shared is not None and len([_ns for _ns in ns_shared if folder.startswith(_ns)]) > 0: continue
You will see that if user_rec['_delegated_mailboxes'] is not set (which is the case here) no other user folders will be excluded. So, my proposed fix is:
--- a/wallace/module_invitationpolicy.py +++ b/wallace/module_invitationpolicy.py @@ -796,7 +796,9 @@ def list_user_folders(user_rec, type):
Or to be more precise (according to the traceback). It does not even tries to write to the folder, but just tries to select it (and then search for an object). I'm not sure why select fails while the folder is 'lr'.
Is there delegation setup between these users? For me it looks like there is, but delagtor's calendar folder is non writable and the code does not check that trying to write to it.
Jul 19 2017
Jul 18 2017
@adomaitis this depends on some earlier commit: https://git.kolab.org/rRPK2ad0d6651dfbcb32c146465ad9539848b285e3f9
What is more. When user receives iTip response for an exception and updates the event, Outlook will incorrectly send Sync-Add command for the new exception, which then creates a duplicate object. Which leads to a "missing" event in Roundcube and error in syncroton log. This in itself is another issue, but I see that with correct ExceptionStartTime Outlook does not send such requests.
@vanmeeuwen, this is still broken. Could you take a look?
Jul 17 2017
Fixed in 6046b4085ae.
The code that does not support these is:
$subnet = ip2long($subnet); $mask = -1 << $bits; $subnet &= $mask; // just in case the supplied subnet wasn't correctly aligned if (($ipbin & $mask) == $subnet) { return true; }
in Utils::checkIpRange().
Jul 13 2017
Jul 12 2017
Fixed in a60c81d1b [master] and f9151f6830 [release-1.2]
Jul 11 2017
Jul 10 2017
Jul 9 2017
So, I started working on this. I thought it's reasonably simple to implement, but testing this with Outlook 2013 I see a lot of strange comminication that is not described in the documentation. It sends redundant Sync commands with event updates, so in the end, after accepting an invitation the event ends up being still in un-responded state.
Jul 7 2017
Jul 6 2017
Jul 4 2017
Fixed by 0c02d0d45c6 in roundcubemail-plugins-kolab [master].
Jul 3 2017
I verified with the code that if the original event would specify SCHEDULE-AGENT=CLIENT for the attendee it would be properly recognized by SabreDAV classes and the CANCEL would not be sent. So, what we need is to store this initial SCHEDULE-AGENT value in custom properties of Kolab format (or extend the format of https://wiki.kolab.org/User:Mollekopf/Drafts/KEP:17#Attendee).
Looks good to me. You can remove also COMMASPACE = ', ' line as we don't use this var anymore.
This way you can end up with true. I'd rather make sure $relation['members'] is an array. e.g.
'members' => implode("\n", (array) $relation['members']),
Jul 1 2017
However, https://tools.ietf.org/html/rfc6638#section-3.2.1.2 says that CANCEL is sent when an event was modified and previous scheduling was done by the server (default if SCHEDULE-AGENT is not specified). So, probably the issue is in recognizing the previous state.
Jun 30 2017
@vanmeeuwen, what's your take on this?
Fixed in bf4326c834 [master].
I can confirm that. In my test it does not find messages even if they use UTF-8/8bit encoding, i.e. no decoding is required. Maybe squatter handles that better, I don't know.
Jun 29 2017
Still can't find the way to reproduce the issue. Another source informed us that it had the same issue and there was CalDAV client involved. I reviewed the code and I don't see what actions could lead to such invalid timezone entries. Here's a patch that we could use, but I think the issue is in another place:
--- a/plugins/calendar/calendar.php +++ b/plugins/calendar/calendar.php @@ -1974,6 +1974,8 @@ class calendar extends rcube_plugin */ private function write_preprocess(&$event, $action) { + $event['start'] = preg_replace('/\s*\(.*\)/', '', $event['start']); + $event['end'] = preg_replace('/\s*\(.*\)/', '', $event['end']); // convert dates into DateTime objects in user's current timezone $event['start'] = new DateTime($event['start'], $this->timezone); $event['end'] = new DateTime($event['end'], $this->timezone);
That looks like simple mistake in the code. Fixed in rRPKc2e8cc16abf3.