<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-integration-recurring-events.el, branch load-graph-classify-start</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-02-03T14:36:37+00:00</updated>
<entry>
<title>fix(tests): correct flaky test assertions</title>
<updated>2026-02-03T14:36:37+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-03T14:36:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=c9a91ce90d333576a5056545e9d8586a14b4ae2b'/>
<id>urn:sha1:c9a91ce90d333576a5056545e9d8586a14b4ae2b</id>
<content type='text'>
- calendar-sync: fix GTFO count bounds to match 15-month window (was
  incorrectly assuming 12-month/52-week window)
- video-recording: add process-status mock to prevent race condition
  where process hadn't exited yet when sentinel was manually called
</content>
</entry>
<entry>
<title>feat(calendar-sync): multi-calendar support with property tests</title>
<updated>2025-12-02T13:55:21+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-12-02T13:55:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=703bc366cf8439a398362d98bef513ef98942fd4'/>
<id>urn:sha1:703bc366cf8439a398362d98bef513ef98942fd4</id>
<content type='text'>
Added multi-URL calendar sync supporting Google and Proton calendars.
Each calendar syncs to separate file with per-calendar state tracking.
Added 13 property-based tests for RRULE expansion. Total: 150 tests passing.
</content>
</entry>
<entry>
<title>feat(calendar-sync): Add RRULE support and refactor expansion functions</title>
<updated>2025-11-18T18:54:25+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-18T18:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=ca5a891b6259e685a1631c20916a762bdc54a4e5'/>
<id>urn:sha1:ca5a891b6259e685a1631c20916a762bdc54a4e5</id>
<content type='text'>
Implements complete recurring event (RRULE) expansion for Google Calendar
with rolling window approach and comprehensive test coverage.

Features:
- RRULE expansion for DAILY, WEEKLY, MONTHLY, YEARLY frequencies
- Support for INTERVAL, BYDAY, UNTIL, and COUNT parameters
- Rolling window: -3 months to +12 months from current date
- Fixed COUNT parameter bug (events no longer appear beyond their limit)
- Fixed TZID parameter parsing (supports timezone-specific timestamps)
- Replaced debug messages with cj/log-silently

Refactoring:
- Extracted helper functions to eliminate code duplication:
  - calendar-sync--date-to-time: Date to time conversion
  - calendar-sync--before-date-p: Date comparison
  - calendar-sync--create-occurrence: Event occurrence creation
- Refactored all expansion functions to use helper functions
- Reduced code duplication across daily/weekly/monthly/yearly expansion

Testing:
- 68 tests total across 5 test files
- Unit tests for RRULE parsing, property extraction, weekly expansion
- Integration tests for complete RRULE workflow
- Tests for helper functions validating refactored code
- All tests passing
</content>
</entry>
</feed>
