Repository navigation
v1.0.1
🎉 Welcome Our First Contributor!
A huge thank you to @niklashog for contributing multiple calendar support to the Google Calendar plugin! This is our first external contribution and we're thrilled to have you. 🙌
What's New
Google Calendar: Multiple Calendars Support
Contributed by @niklashog
Sync multiple Google Calendars with custom labels:
{
"calendars": {
"family@group.calendar.google.com": "Family",
"work@group.calendar.google.com": "Work"
}
}Primary calendar is always synced. Add as many additional calendars as you need!
Sync Hub: Sync Locks
Prevents duplicate syncs when multiple Thymer tabs/windows are open:
- Uses double-read pattern with random jitter (100-500ms)
- Automatic stale lock recovery after 5 minutes
- Shows toast notification if sync blocked by another instance
GitHub Plugin: Two-Field Design
Cleaner separation between GitHub state and your workflow:
| Field | Purpose |
|---|---|
external_state |
GitHub's state (Open/Closed) - always synced |
status |
Your workflow (Inbox → Backlog → Next → Doing → Done) - never touched |
- New issues land in Inbox for triage
- Your kanban board stays independent from GitHub sync
- No more conflicts between sync and workflow
Full Changelog
Sync Hub
- Add sync_lock field with double-read pattern
- 5-minute stale lock timeout
Issues Collection
- Split
stateintoexternal_state+status - Default workflow: Inbox, Backlog, Next, Doing, Done, Cancelled
GitHub Plugin
- Simplified sync logic (removed ~40 lines of merge code)
- New issues default to Inbox status
Google Calendar Plugin
- Multiple calendars via
calendarsconfig mapping - Custom labels for each calendar
HAPPY THYMERING 🍀