iCal syncing bug?
iCal syncing bug?
- Subject: iCal syncing bug?
- From: "Rimas M." <email@hidden>
- Date: Mon, 27 Feb 2006 16:50:36 +0200
Hello,
I am still having problems with iCal.
Situation:
a) I have some records, pushed from my app into iCal. Lets say its a
Calendar and Task.
b) my app deletes them by calling deleteRecordWithIdentifier
c) my app push records, to make identical calendar (with new id) and
event in it.
Result:
in iCal I find new calendar with event and...the deleted calendar. It
can not be deleted manually from iCal. I must turn off iCal and start
it again. Then it is gone..
If I pull the truth from sync services, when iCal is showing deleted
calendar, there is no such record in sync services db..
There is some more info from Syncospector.
<<<<<< session 1 >>>>>>
My app deletes Calendar and Task. iCal actions history:
{
calldate = 2006-02-27 14:43:52.405;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:43:52.858;
returnedvalue = <ISyncChange 0x599f17a0>{ delete record id
'Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B/Task:
3AD806F4-3BF0-424B-BBFC-8C677592264E' (no changes) };
}
{
calldate = 2006-02-27 14:43:52.858;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:43:52.859;
returnedvalue = <ISyncChange 0x599f1a20>{ delete record id
'Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B' (no changes) };
}
Pay attention, that calendar id (in iCal) is
Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B.
After that, in the same delete session iCal still converts ids:
{
calldate = 2006-02-27 14:43:52.902;
methodname =
"clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI
dentifier:";
parameters = (
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
<null>,
"57A88F45-4FC6-4115-973A-CFC4E65302D1"
);
returndate = 2006-02-27 14:43:52.902;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:43:52.902;
methodname =
"clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI
dentifier:";
parameters = (
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B/Task:
3AD806F4-3BF0-424B-BBFC-8C677592264E",
<null>,
"6B9B5485-C808-4F6E-A516-2FCE7924FB9E"
);
returndate = 2006-02-27 14:43:52.902;
returnedvalue = <null>;
}
<<<<<< session 2 >>>>>>
In the next sync session my app adds new calendar and event in it.
iCal history:
{
calldate = 2006-02-27 14:44:31.019;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:44:31.061;
returnedvalue = <ISyncChange 0x5ab498c0>{ add record id
'com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3'
set start date = 2006-02-27 14:40:00 +0200
set all day = 0
set calendar = ("com.apple.syncservices:08A5D70A-B854-402D-
BBE3-33F7A2E36029")
set end date = 2006-02-28 14:40:00 +0200
set summary = Event_title
set com.apple.syncservices.RecordEntityName =
com.apple.calendars.Event };
}
{
calldate = 2006-02-27 14:44:31.061;
methodname = nextObject;
parameters = ();
returndate = 2006-02-27 14:44:31.061;
returnedvalue = <ISyncChange 0x5ab4a390>{ add record id
'com.apple.syncservices:08A5D70A-B854-402D-BBE3-33F7A2E36029'
set com.apple.ical.type = local
set com.apple.syncservices.RecordEntityName =
com.apple.calendars.Calendar
set events = ("com.apple.syncservices:90AD20DE-7942-4472-
BE58-4DDAEA46C2F3")
set read only = 0
set title = Kalendorius };
}
Again iCal notices sync services about id changes:
{
calldate = 2006-02-27 14:44:31.505;
methodname =
"clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI
dentifier:";
parameters = (
"com.apple.syncservices:08A5D70A-B854-402D-BBE3-33F7A2E36029",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:31.505;
methodname =
"clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI
dentifier:";
parameters = (
"com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/
Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}
<<<<<< session 3 >>>>>>
After while iCal begins session and is doing:
{
calldate = 2006-02-27 14:44:31.505;
methodname =
"clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordI
dentifier:";
parameters = (
"com.apple.syncservices:90AD20DE-7942-4472-BE58-4DDAEA46C2F3",
<null>,
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/
Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
returndate = 2006-02-27 14:44:31.505;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.343;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:17891C5B-6A8E-4EF3-
A350-0D993C0B5ABD");
"com.apple.syncservices.RecordEntityName" =
"com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.00784314 0.321569
0.831373 1;
title = kalendorius;
type = source;
"url publishers" = ();
},
"Node:5E4216D2-7E96-41E7-A3FD-7B7B31266B1A"
);
returndate = 2006-02-27 14:44:40.343;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.343;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:C224F134-1433-4601-9002-
CE5FD366DF6A");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.Calendar";
events = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF/Event:
030EDBD6-4A8F-441D-BA32-2EA1AB5353AE"
);
"read only" = 0;
tasks = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF/Task:
2BE5907B-DE19-48C2-BD4F-EB92A3254ED8"
);
title = VIETINIS;
},
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF"
);
returndate = 2006-02-27 14:44:40.344;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.344;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar =
("Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B");
"com.apple.syncservices.RecordEntityName" =
"com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.898039 0.0901961
0.0901961 1;
title = Kalendorius;
type = source;
"url publishers" = ();
},
"Node:0768CF39-DAC3-422C-8991-2520BC368D28"
);
returndate = 2006-02-27 14:44:40.344;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.344;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:BDA80050-EDCA-41D6-BC5C-
E7CCD3FEC7CF");
"com.apple.syncservices.RecordEntityName" =
"com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.172549 0.631373
0.0431373 1;
title = VIETINIS;
type = source;
"url publishers" = ();
},
"Node:C224F134-1433-4601-9002-CE5FD366DF6A"
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendars = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF",
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD",
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.CalendarOrder";
identity = "com.apple.calendars.CalendarOrder";
},
CalendarOrder
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:0768CF39-
DAC3-422C-8991-2520BC368D28");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.Calendar";
events = ();
"read only" = 0;
tasks = ();
title = Kalendorius;
},
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B"
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:5E4216D2-7E96-41E7-
A3FD-7B7B31266B1A");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.Calendar";
events = ();
"read only" = 0;
tasks = ();
title = kalendorius;
},
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD"
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendar = ("Calendar:ED546B2E-13A9-4F35-95C2-
B672606C0A87");
"com.apple.syncservices.RecordEntityName" =
"com.apple.ical.calendars.Node";
"dot mac publishers" = ();
"parent node" = (RootNode);
theme = NSCalibratedRGBColorSpace 0.960784 0.470588
0.00784314 1;
title = Kalendorius;
type = source;
"url publishers" = ();
},
"Node:354D88B9-07B8-49B1-A235-39B1D388DEBB"
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.syncservices.RecordEntityName" =
"com.apple.ical.calendars.TaskOrder";
identity = "com.apple.ical.calendars.TaskOrder";
lastmodificationdate = 1-01-02 02:00:00 +0200;
tasks = ();
},
TaskOrder
);
returndate = 2006-02-27 14:44:40.346;
returnedvalue = <null>;
}
{
calldate = 2006-02-27 14:44:40.346;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
"com.apple.ical.node" = ("Node:354D88B9-07B8-49B1-
A235-39B1D388DEBB");
"com.apple.ical.type" = local;
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.Calendar";
events = (
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87/
Event:D017739A-D01B-497B-B3F5-2D99E41715A6"
);
"read only" = 0;
tasks = ();
title = Kalendorius;
},
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
returndate = 2006-02-27 14:44:40.347;
returnedvalue = <null>;
}
Only pushes from iCal. Nothing to pull.
in record:
{
calldate = 2006-02-27 14:44:40.345;
methodname = "pushChangesFromRecord:withIdentifier:";
parameters = (
{
calendars = (
"Calendar:BDA80050-EDCA-41D6-BC5C-E7CCD3FEC7CF",
"Calendar:17891C5B-6A8E-4EF3-A350-0D993C0B5ABD",
"Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B",
"Calendar:ED546B2E-13A9-4F35-95C2-B672606C0A87"
);
"com.apple.syncservices.RecordEntityName" =
"com.apple.calendars.CalendarOrder";
identity = "com.apple.calendars.CalendarOrder";
},
CalendarOrder
);
returndate = 2006-02-27 14:44:40.345;
returnedvalue = <null>;
}
we can find calendar id
Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B, which actually, should
be deleted in a previous session. And now iCal is showing the new
calendar with event, and the old one, with id
Calendar:BD80BA75-1C70-4B1F-8907-435199E5476B, which should be gone.
As I have mentioned - it is not possible to delete that calendar from
iCal. If I turn off iCal and start it again, that deleted calendar is
gone..
So. My question is - is that a bug in iCal, or there is something,
that I can not understand or simply missed?
Regards,
Rimas M.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden