Releases: riclib/thymer-synchub
Release list
v1.2.0
Thymer Sync Hub v1.2.0
Highlights
Flow Plugin (PRERELEASE ALPHA)
A new focus companion plugin for planning your day and tracking work sessions:
- Visual day planner with drag-and-drop task scheduling
- Focus session tracking with timer and progress display
- Side-by-side layout for overlapping events
- Task duration estimates with resize-to-adjust
- Integration with PlannerHub tasks and calendar events
Note: Flow is in early alpha. See plugins/flow/README.md for installation instructions.
Google Calendar Improvements (PR #23)
- Properly updates titles on renamed events (fixes repeated sync updates)
- Deleted events now prefixed with [X] instead of being removed
- Preserves all information from deleted events
PlannerHub Enhancements
- New Slot API for time-series data storage
- Improved SDK timing with GUID caching
- Foundation for Flow event logging (coming soon)
Upgrading
Update all components in order:
- Sync Hub (
synchub/) - Collections (
collections/) - PlannerHub (
plannerhub/) - All sync plugins you use
Full Changelog
See commit history for detailed changes since v1.0.3.
v1.0.3
What's New
Calendar Collection
- Timing field - Events automatically tagged as
UpcomingorPast, updated every 30 minutes. Finally, easy filtering without relative time queries! - Meeting link parser - Extracts video call URLs from event descriptions (Teams, Zoom, Google Meet, Webex)
Google Calendar Sync
- Fixed incremental sync - No more spurious "Updated At" changes on every sync. Only truly modified events get updated now.
- Teams/Zoom detection - Meeting links parsed from event body when not in conferenceData
Development Workflow
- Version validation -
task validate:versionschecks JS/JSON version consistency - Release automation -
task releasenow syncs versions in both JS and JSON files
🤖 Generated with Claude Code
v1.0.2
What's New
Recurring Events Collapsed in Journal
No more journal spam from recurring calendar events:
Before:
16:12 added Weekly Status Call
16:12 added Weekly Status Call
16:12 added Weekly Status Call
... (x26)
After:
16:12 added 26 instances of [[Weekly Status Call]]
Uses Google Calendar's recurringEventId to group instances. Single events display normally.
HAPPY THYMERING 🍀
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 🍀