- Create calendar_parser.py module with ICS parsing support
- Add test_calendar_parsing.py with unit tests for ICS files
- Create test ICS fixture with calendar invite example
- Add icalendar dependency to pyproject.toml
- Add calendar detection to notification_detector.py
- Research and document best practices for ICS parsing libraries
- 4-week implementation roadmap:
- Week 1: Foundation (detection, parsing, basic display)
- Week 2: Mail App Integration (viewer, actions)
- Week 3: Advanced Features (Graph API sync)
- Week 4: Calendar Sync Integration (two-way sync)
Key capabilities:
- Parse ICS calendar files (text/calendar content type)
- Extract event details (summary, attendees, method, status)
- Detect cancellation vs invite vs update vs request
- Display calendar events in TUI with beautiful formatting
- Accept/Decline/Tentative/Remove actions
- Integration path with Microsoft Graph API (future)
Testing:
- Unit tests for parsing cancellations and invites
- Test fixture with real Outlook calendar example
- All tests passing
This addresses your need for handling calendar invites like:
"CANCELED: Technical Refinement"
with proper detection, parsing, and display capabilities.
- Research best ICS parsing libraries (icalendar, ics)
- Design CalendarEventViewer widget for displaying invites
- Add calendar detection to notification_detector.py
- Implement ICS parsing utilities in calendar_parser.py
- Plan integration with Microsoft Graph API for calendar actions
- Provide clear action flow (Accept/Decline/Tentative/Remove)
- 4-week implementation roadmap with success metrics
- Configuration options for parser library and display settings
Key features:
- Automatic calendar email detection (invites, cancellations, updates)
- ICS file parsing with proper timezone and attendee handling
- Beautiful TUI display of calendar events
- Integration path with Microsoft Graph API (future)
- Action buttons tied to Graph API for updating Outlook calendar