Bug: Google calendar not showing all events [not relevant]

asked 2014-03-18 11:35:47 +0300

updated 2014-07-12 19:03:47 +0300

I noticed that in 1.0.4.20 only some google calendar events were showing up. Account wasn't enabled, did that, still no go. Twiddling around the database files I could find the missing events:

echo "SELECT * FROM Components;"|sqlite3 /home/nemo/.local/share/system/privileged/Calendar/mkcal/db | grep

(in fact, 38 copies of the event I was looking for), editing an entry on the web made it show up on the phone.

I did find a way to work around this:

  • Move/remove calendar files from /home/nemo/.local/share/system/privileged/Calendar & Calendars. Note that this is a risky operation, so don't try if you're not comfortable with the shell!

Close calendar & open terminal in developer mode

devel-su
mkdir /home/nemo/calbak
mv /home/nemo/.local/share/system/privileged/Calendar/mkcal/db* /home/nemo/calbak
mv /home/nemo/.local/share/system/privileged/Calendars/google.db /home/nemo/calbak
  • Removed my google account from the phone completely and recreated it

everything is fine and calendar db is no longer bloated:

[root@localhost mkcal]# ls -l db
-rw-r--r-- 1 nemo privileged 195584 Mar 18 11:18 db 
[root@localhost mkcal]# ls -l ~nemo/calbak/db
-rw-r--r-- 1 nemo privileged 6197248 Mar 18 11:00 /home/nemo/calbak/db

Possible workaround editing sqlite database here: https://together.jolla.com/question/38887/bug-calendar-entries-synced-from-google-account-with-multiple-calendars-dont-have-a-calendar-assigned-in-the-mkal-db-and-are-not-shown-in-the-calendar/#post-id-40071

Some relevant tidbits from https://together.jolla.com/question/23754/google-calendar-synchronization/

"You can trigger it with dbus if you're so inclined: dbus-send --session --type=method_call --print-reply --dest=com.meego.msyncd /synchronizer com.meego.msyncd.startSync string:'google.Calendars' "

"It turns out that the sqlite storage backend for mkcal doesn't delete events from the database when they are deleted (as it keeps them so that it can return them when the client requests events that have been deleted since some timestamp). Previously, we were using the google event id as the event id, and this may have caused issues with resyncing previously synced events (as deletion of the old one followed by creation of the new one, may have failed due to id clash). This will be fixed asap! Thanks for your report!"

edit retag flag offensive reopen delete

The question has been closed for the following reason "question is not relevant or outdated" by AnaT
close date 2015-11-16 21:08:48.373659

Comments

Hi, pekkap! Could you provide a more simpler description how to "nuke the calendar files"? I am having trouble with my Jolla Calendar quite a while now. Calendar is just not syncing Google Calendar events into the Jolla Calendar. I hoped this issue would be solved with new update but it remained. Now, I think I'd like to try your method: "nuke the files", but I don't know how to do that. I have no IT-background etc. I can not find these files in File Browser. help, please.

mihkelle ( 2014-03-18 11:53:34 +0300 )edit

Had exactly the same problem. Events in the db not showing up in the application. Moving away the databases and recreating the accounts shows correct calendars once more. Hope the real reason for the problem is found.

mikael ( 2014-03-19 01:48:52 +0300 )edit
1

My phone doesn't show any events from one of my 4 synced calendars. Deleting the databases and readding the Google account does not help. I have the calendars selected for sync from Google's online settings. Still using my N9 until the sync of multiple calendars works either via Google or my own CalDAV server.

Iipe ( 2014-03-28 22:05:22 +0300 )edit

I've got another similar problem with google calendar but it's not fixed by the above instructions. It's here. I'm not sure if these questions should be merged.

eber42 ( 2014-03-29 19:46:30 +0300 )edit
1

I got back all my lost events by running the request "update syncTimestamps set syncTimestamp=0 where serviceName='google' and dataType='Calendars';" on ~/.local/share/system/privileged/Sync/sociald-sync.db and then running a calendar sync It seems that the first time sync failed but incremental ones worked (maybe it was luck, or a better network coverage).

It also led to duplicate events (that was expected) and may have other side effects, so don't try it if you're not sure ;-)

eber42 ( 2014-03-31 21:41:47 +0300 )edit