iCal problem: Events backing to the same after change it

43 views
Skip to first unread message

Lenon Silva

unread,
Sep 26, 2016, 9:57:14 AM9/26/16
to SabreDAV Discussion
Hello Evert. How are you?

Since Jun, I'm facing a problem in iCal (El Capitan 10.11.6) with SabreDav 2.0, the problem is when i change some event in ical (like name or date) after some seconds, it back to the text / date that it was before i change, I've saw this problem in 3 macbooks with the same iOs El Capitan, in iPhone and other Caldav's App (Windows) works perfectly. But in iCal it doesnt work well. Have you saw this problem with someone? I've tried a lot of things but it really doesnt work. Only in iCal the events back to origin... Is there a solution for that?

Again, Thx for your help

Evert Pot

unread,
Sep 26, 2016, 9:11:14 PM9/26/16
to SabreDAV Discussion
We had some versions with bad settings for the default SQL tables.

You can easily check if you are suffering from this, if your calendar table has some records with an empty value for the synctoken field.
If you do, the quick workaround for those calendars is to set the synctoken to something else (UPDATE calendars SET synctoken = 1 WHERE synctoken IS NULL).

Lenon Silva

unread,
Sep 27, 2016, 10:47:02 AM9/27/16
to SabreDAV Discussion
Unfortunately the same problem still remain after make this change. Now I'm trying every SabreDav release to check if one works well in El Capitan.

I've tryed too OwnCloud Calendar (SabreDav) and the same error appears with it... the events back to the same after updating it, in other versions of iOS and Macbook SabreDav work perfectly, but in El Capitan and Sierra I'm facing this problem...

I'll try others releases and back to post the results

 Thx

Lenon Silva

unread,
Sep 29, 2016, 4:16:57 PM9/29/16
to SabreDAV Discussion
Evert, good afternoon.

I've tried all the releases as i said, and the error keeps when i change some event, like date it backs to the same before i change it

I really need your help, i dont know anything that i can do... I've setup a client using the last release of SabreDav 3.2, I've used the mysql files in example folder to create my database, and create a new user, everything as explained in sabredav installation guide. That's a bug who only happens in iCal, if you try to change something in the event (like title or date) it back to the same

I'm sending for you my server settings to check if as some problem with it:

<?php
/*
CalendarServer example
This server features CalDAV support
*/
include_once("config.inc.php");

// settings
date_default_timezone_set('America/Sao_Paulo');

// If you want to run the SabreDAV server in a custom location (using mod_rewrite for instance)
// You can override the baseUri here.
$baseUri = '/SabreDav/caldav.php';

/* Database */
$pdo = new PDO('mysql:dbname='.$dbname.';host='.$dbhost, $dbuser, $dbpass);
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

//Mapping PHP errors to exceptions
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

// Files we need
require_once 'vendor/autoload.php';

// Backends
$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
$calendarBackend = new Sabre\CalDAV\Backend\PDO($pdo);
$principalBackend = new Sabre\DAVACL\PrincipalBackend\PDO($pdo);

// Directory structure
$tree = [
new Sabre\CalDAV\Principal\Collection($principalBackend),
new Sabre\CalDAV\CalendarRoot($principalBackend, $calendarBackend),
];

$server = new Sabre\DAV\Server($tree);

if (isset($baseUri))
$server->setBaseUri($baseUri);

/* Server Plugins */
$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend,'SabreDAV');
$server->addPlugin($authPlugin);

$aclPlugin = new Sabre\DAVACL\Plugin();
$server->addPlugin($aclPlugin);

/* CalDAV support */
$caldavPlugin = new Sabre\CalDAV\Plugin();
$server->addPlugin($caldavPlugin);

/* Calendar subscription support */
$server->addPlugin(
new Sabre\CalDAV\Subscriptions\Plugin()
);

/* Calendar scheduling support */
$server->addPlugin(
new Sabre\CalDAV\Schedule\Plugin()
);

/* WebDAV-Sync plugin */
$server->addPlugin(new Sabre\DAV\Sync\Plugin());

// Support for html frontend
$browser = new Sabre\DAV\Browser\Plugin();
$server->addPlugin($browser);

// And off we go!
$server->exec();

Em segunda-feira, 26 de setembro de 2016 10:57:14 UTC-3, Lenon Silva escreveu:

Lenon Silva

unread,
Oct 4, 2016, 8:16:41 AM10/4/16
to SabreDAV Discussion
Someone can help me please?


Em segunda-feira, 26 de setembro de 2016 10:57:14 UTC-3, Lenon Silva escreveu:

Evert Pot

unread,
Oct 5, 2016, 7:17:07 PM10/5/16
to SabreDAV Discussion


On Tuesday, October 4, 2016 at 8:16:41 AM UTC-4, Lenon Silva wrote:
Someone can help me please?


Hi Lenon,

After doing the fresh install, do the records in your calendars table have a value for the synctoken field?

If they do have values, I'm not really sure what the issue could be. The only way I can image further helping you debug this is if you could setup Charles HTTP Proxy and send me the result of an iCal session doing the update and subsequently losing the update.

Hopefully with that data we'll have a bit more info.

Let me know!
Evert
Reply all
Reply to author
Forward
0 new messages