[4.2.0.21] [XA2 Plus] Calendar reminders are triggered for a deleted account

REPRODUCIBILITY (% or how often): 100%
BUILD ID = OS VERSION (Settings > About product): 4.2.0.21
HARDWARE (XA2, X10, X10 II, …): XA2 Plus dual sim
UI LANGUAGE: French
REGRESSION: (compared to previous public release: Yes, No, ?): Yes (from 3.x)

DESCRIPTION:

Calendar reminders are triggered for deleted calendar accounts

PRECONDITIONS:

STEPS TO REPRODUCE:

  1. Create an account for a calendar sync on the phone
  2. Synchronize the calendar
  3. Delete the account

EXPECTED RESULT:

No reminders for ther deleted account

ACTUAL RESULT:

Reminders for the deleted account

ADDITIONAL INFORMATION:

(Please ALWAYS attach relevant data such as logs, screenshots, etc…)

Is it the case for various accounts ? Which account did you notice it about ? Exchange ? CalDAV ?

It is an Exchange account. I had to delete it because of authentication problems (not related to SFOS).

And another precision maybe also : are the events still visible in the calendar after account deletion ?

No, they are not visible.

Ok, thank you for the details. I’ll try to see if I can find an idea.

Normally here is the code path when deleting an account:

  • in Buteo, when the account is deleted, the plugin responsible for the sync is called and it’s cleanup() function is called.
  • the sync plugin cleanup should call a deleteNotebook() function from mKCal to cleanup the data.
  • the deleteNotebook() is listing all events related to the notebook and schedule them for deletion.
  • after all events have been deleted, this list of incidences is passed to a function called clearAlarms() in mKCal.
  • for each events, the timed daemon is contacted to clear the alarm related to this specific event.

That’s why I asked precisions : the cleanup function is in the sync plugin (here I cannot check, this is proprietary software), if an event is not in the calendar anymore, it should have been removed from the alarms also. So I need to figure out how events can be removed without associated alarm being removed also…

Another question : do you know if only some alarms remain (meaning that some have actually been removed) or globally all of them are still pending. To list alarms, use:

timedclient-qt5 -L

Only some alarms remain.

Interesting, thanks. One last question, maybe, do you notice a pattern on the remaining alarms ? In case could you post the output of the timedclient-qt5 -L command ? Or PM it to me ?

[defaultuser@XA2PhKNoir ~]$ timedclient-qt5 -L

Cookie 250
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘Anniversaire M’
alarmtime = ‘2022-04-11T00:00:00’
endDate = ‘2022-04-11T00:00:00’
notebook = ‘cf0a0f58-03f1-4bbe-b44d-8abc7728bfb9’
recurs = ‘true’
startDate = ‘2022-04-11T00:00:00’
time = ‘2022-04-11T00:00:00’
type = ‘event’
uid = ‘NBUID:cf0a0f58-03f1-4bbe-b44d-8abc7728bfb9:47DE-59BFED80-13-79620B00’
Tick: 1649628000 (T-14646589 @ 2022-04-11 00:00:00 CEST)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Action0:
COMMAND = ‘invoker --type=generic -n /usr/bin/mkcaltool --reset-alarms cf0a0f58-03f1-4bbe-b44d-8abc7728bfb9 NBUID:cf0a0f58-03f1-4bbe-b44d-8abc7728bfb9:47DE-59BFED80-13-79620B00’
Flags: runCommand whenServed
Cookie 660
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘CODIR MENSUEL’
alarmtime = ‘2021-12-06T07:55:00Z’
endDate = ‘2021-12-06T09:30:00Z’
notebook = ‘f4706260-ee1c-4def-819d-4b03ec02343e’
recurs = ‘true’
startDate = ‘2021-12-06T08:00:00Z’
time = ‘2021-12-06T08:00:00Z’
type = ‘event’
uid = ‘13cbd019-5f05-4171-baff-37d15a9ab411’
Tick: 1638777300 (T-3795889 @ 2021-12-06 08:55:00 CET)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Action0:
COMMAND = ‘invoker --type=generic -n /usr/bin/mkcaltool --reset-alarms f4706260-ee1c-4def-819d-4b03ec02343e 13cbd019-5f05-4171-baff-37d15a9ab411’
Flags: runCommand whenServed
Cookie 665
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘Suivi de la Transformation’
alarmtime = ‘2021-11-29T09:25:00Z’
endDate = ‘2021-11-29T11:00:00Z’
notebook = ‘f4706260-ee1c-4def-819d-4b03ec02343e’
recurrenceId = ‘2021-11-29T10:30:00+01:00’
startDate = ‘2021-11-29T09:30:00Z’
time = ‘2021-11-29T09:30:00Z’
type = ‘event’
uid = ‘206bad48-c084-41df-995a-7fb187c99516’
Tick: 1638177900 (T-3196489 @ 2021-11-29 10:25:00 CET)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Cookie 666
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘Suivi de la Transformation’
alarmtime = ‘2021-10-25T08:25:00Z’
endDate = ‘2021-10-25T10:00:00Z’
notebook = ‘f4706260-ee1c-4def-819d-4b03ec02343e’
recurrenceId = ‘2021-10-25T10:30:00+02:00’
startDate = ‘2021-10-25T08:30:00Z’
time = ‘2021-10-25T08:30:00Z’
type = ‘event’
uid = ‘206bad48-c084-41df-995a-7fb187c99516’
Tick: 1635150300 (T-168889 @ 2021-10-25 10:25:00 CEST)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Cookie 669
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘RTT DTI’
alarmtime = ‘2021-11-11T22:45:00Z’
endDate = ‘2021-11-12T23:00:00Z’
notebook = ‘f4706260-ee1c-4def-819d-4b03ec02343e’
startDate = ‘2021-11-11T23:00:00Z’
time = ‘2021-11-11T23:00:00Z’
type = ‘event’
uid = ‘fc63613b-c7b0-48ed-80cd-78f3ec587e94’
Tick: 1636670700 (T-1689289 @ 2021-11-11 23:45:00 CET)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Cookie 727
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘Anniversaire M’
alarmtime = ‘2022-04-11T07:00:00Z’
endDate = ‘2023-04-10T22:00:00Z’
notebook = ‘dcc6ade2-cc91-4bce-80f1-e921be47b878’
recurs = ‘true’
startDate = ‘2023-04-10T22:00:00Z’
time = ‘2023-04-10T22:00:00Z’
type = ‘event’
uid = ‘NBUID:dcc6ade2-cc91-4bce-80f1-e921be47b878:47DE-59BFED80-13-79620B00’
Tick: 1649660400 (T-14678989 @ 2022-04-11 09:00:00 CEST)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Action0:
COMMAND = ‘invoker --type=generic -n /usr/bin/mkcaltool --reset-alarms dcc6ade2-cc91-4bce-80f1-e921be47b878 NBUID:dcc6ade2-cc91-4bce-80f1-e921be47b878:47DE-59BFED80-13-79620B00’
Flags: runCommand whenServed
Cookie 864
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘déposer vtt vertical bike’
alarmtime = ‘2021-10-27T14:30:00Z’
endDate = ‘2021-10-27T16:00:00Z’
notebook = ‘dcc6ade2-cc91-4bce-80f1-e921be47b878’
startDate = ‘2021-10-27T15:00:00Z’
time = ‘2021-10-27T15:00:00Z’
type = ‘event’
uid = ‘177D183B-CCFB-4283-97A7-29A9BF205701’
Tick: 1635345000 (T-363589 @ 2021-10-27 16:30:00 CEST)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder
Cookie 914
APPLICATION = ‘libextendedkcal’
PLUGIN = ‘libCalendarReminder’
TITLE = ‘Remise Brevet’
alarmtime = ‘2021-11-09T17:20:00Z’
endDate = ‘2021-11-09T18:00:00Z’
location = ‘Collège Marcel Doret’
notebook = ‘dcc6ade2-cc91-4bce-80f1-e921be47b878’
startDate = ‘2021-11-09T17:30:00Z’
time = ‘2021-11-09T17:30:00Z’
type = ‘event’
uid = ‘NBUID:dcc6ade2-cc91-4bce-80f1-e921be47b878:cdee59a1b9887d78cfbed4e948c827bf5f89dd3d’
Tick: 1636478400 (T-1496989 @ 2021-11-09 18:20:00 CET)
Time: 0000-00-00 00:00
MaximalTimeoutSnoozeCounter: 2
TimeoutSnoozeLenght: 1
Flags: userMode alignedSnooze reminder