REPRODUCIBILITY (% or how often): 90%+ of the time
BUILD ID = OS VERSION (Settings > About product): 3.4.0.24
HARDWARE (Jolla1, Tablet, XA2,…): Sony XA2 Ultra
UI LANGUAGE: English
REGRESSION: (compared to previous public release: Yes, No, ?): ?
DESCRIPTION:
I get about a dozen notifications for every repeating calendar event (i.e. yearly, weekly, etc). There are no duplicate events.
When I dismiss the notification an new one pops up repeatedly, over and over. There is nothing I can do to stop it, except for keep dismissing them until they are done.
PRECONDITIONS:
Doesn’t matter if screen is locked or not. Reminders are duplicated almost a dozen times each
Synced google event or locally created events
STEPS TO REPRODUCE:
Create/Sync repeating calendar event that repeats yearly, monthly, weekly, etc.
Event has notification
Notification happens almost endlessly. After dismissal
EXPECTED RESULT:
1 notification per event
ACTUAL RESULT:
Annoying, endless notifications for the same event
Thanks for the list. The first thing that I’m acknowledge about when I see the list is: they are alarms for different events (not the same uid) of the same notebook (same notebook string). So fine, the repetition of alarm does not come from a duplication of the same notebook.
Looking better, all these different events (in storage I mean) seem to be about the same “real” event (the birthday). A new question to go further: to which kind of account these events are refering to ? Is it a Nextcloud calendar, or the built-in birthday calendar ?
In any case, to you see duplicated events if you look at the 2021-11-06 date ? Two possibilities:
nop, in that case these alarms refers to deleted events (for whatever sync reason these events may have been deleted and recreated by a sync process). In that case, the issue may reside in mKCal project in src/extendedcalendar.cpp where an alarm is supposed to be deleted whenever an event is deleted.
yes they are duplicated, in that case, the alarms are not to be blamed. But the account is to. If it’s a Nextcloud or CalDAV account, I need sync log to go further and understand why these events get duplicated. If it’s the birthday calendar, I need to look into the contactsd plugin dealing with birthdays.
There are no duplicated events in the calendar.
There was a bug in previous Sailfish versions where the events got duplicated 2x, 3x or more… I cleared all calendars and resynced with the last update.
I no longer get duplicate events, but I do get the duplicate notifications.
IS there a way to flush/rebuild notifications? or completely clear out the calendars?
All events are synced from Google Calendar (Birthday Calendar is disabled, it’s just by coincidence that I isolated that recurring yearly event that I used as an example when i was going through the log for this thread)
May I ask how you clean up all calendars ? Did you remove the account in the setting page or did you remove the database by hand ?
There are options in the timed-client to delete alarms, but one by one, I’m afraid.
In theory, if the notebook id 24e256b1-7fb4-4663-8c7e-10b84205fb1a is still associated to an account, deleting the account should remove all associated alarms. If you look at the calendars table in .local/share/system/privileged/Calendar/mkcal/db SQlite database, you may see to which account id it is associated to. Then, the account listing is stored in .config/libaccount-glib/account.db.
I deleted the cal db using instructions from another thread (topic of duplicate events in calendar)
What’s the best way to reset the calendars completely?
Delete the accounts? what files should I delete?
(What should I use to view the .db files?)
UPDATE: I disabled all calendars and alarms have been deleted. There are no events in my calendar, however… timedclient-qt5 -L still lists a bunch of stale events
I’m afraid they correspond to events of a calendar that has been deleted by hand. Did you deleted the calendar with SQlite commands ? If so, the best would be in my opinion to create again this calendar with SQlite commands , then make this calendar invisible in the manage calendar pulley in the calendar app.
If you don’t feel confident , I can set up on Monday a step by step procedure .
In case your duplicated alarms belong to the same notebook (see notebook key for each alarm reported by timed-client), and this notebook does not exist anymore in the mKCal database, you can follow these steps to get rid of them:
devel-su -p to get privileged rights on calendar database.
cd $HOME/.local/share/system/privileged/Calendar/mkcal/ to go to the databse directory.
sqlite3 db to edit the database.
insert into calendars (CalendarId, name, description, flags) values ("24e256b1-7fb4-4663-8c7e-10b84205fb1a", "remove me", "I've no account", 128); to create a new calendar with the notebook id that is used to store the repeating alarms (I got it from your log, but the id may be different).
exit to leave the sqlite editor.
touch db.changed to notify a change of the database.
open the calendar application and use the pulley menu to open the “manage calendars” page.
there should be a “remove me” calendar, uncheck it and leave the page. It will toggle off its visibility asking timed to delete all alarms matching the notebook id.
sqlite3 db again to remove this fictious calendar.
delete from calendars where calendarid == "24e256b1-7fb4-4663-8c7e-10b84205fb1a"; to actually delete it.
exit to leave the sqlite editor again.
This will remove all alarms associated to notebook “24e256b1-7fb4-4663-8c7e-10b84205fb1a”. You need to have the sqlite3 executable installed, it is in the sqlite package.
I had also many duplicate events, even with latest 4.0; I tried to reinstall Calendar, reinstall Google account but nothing helped. Eventually I managed removing the Calendar db: