Calendar Sync by mcaay

Keyboard and sync reference

Keyboard

Key Result
Cmd+Enter (Ctrl+Enter) Toggle a task or a ⬜️ / ✅ calendar event.
Edit a title, then Escape Sync the title. Without Vim: after 10 seconds without typing.
Vim A / I Edit at the end / start of the title.
Vim C, D, cc, S Change only the title; checkbox, time and hidden ID stay.
o / O or Enter on a task, o on the tasks heading New task due on the note’s date.
Paste a task row (yyp, ddp) The pasted row becomes a new task.
dd Delete from Google after 5 seconds.

Calendar rows cannot create events. When the plugin refuses an edit, a notice says why.

Deleting and undo

What reaches Google

Only edits made in Obsidian’s editor reach Google. A change that arrives any other way, for example through Obsidian Sync on another device, is not pushed again: the device where you made the change pushes it, the other device only shows it. A row deleted outside the editor comes back at the next sync.

Only - [ ] and - [x] rows directly under the tasks heading become Google Tasks; other lines there stay local. A new task row is created only by the device it was typed on, and a synced row can change a task only in a list enabled on this device.

Titles come from Google as plain text. Links, embeds, HTML, code, math and %% comments in them are escaped, so an invitation cannot load content, run code or add a clickable action. Bare web addresses still link.

What appears

Dates follow the time zone in settings. Google Tasks has dates only: a typed 📅 13:00 stays in the title and sets no reminder. Recurrence is managed in Google.

Sync timing

Opening or creating an enabled note syncs it, then every 120 seconds (adjustable from 30 seconds to a day). Checkboxes sync at once, titles on Escape or after 10 seconds idle. Sync now, a command and an item in the GCal: status bar menu, syncs immediately. The status bar shows ✓ up to date, ↻ syncing and ✕ a problem; hover for details.

Conflicts and failures

Device state

Each device keeps pending edits, undo records and note snapshots in Obsidian’s local storage, outside the vault. To discard everything pending on a device, disable the plugin, run this in the developer console, then enable it again:

app.saveLocalStorage('google-daily-notes-journal', null); app.saveLocalStorage('google-daily-notes-device-state', null);

Data, permissions and Disconnect: see the privacy policy.