Fix recurring event series modification and UI issues

Backend fixes:
- Fix "this event only" EXDATE handling - ensure proper timezone conversion for exception dates
- Remove debug logging for cleaner production output

Frontend fixes:
- Add EXDATE timezone conversion in convert_utc_to_local function
- Fix event duplication when viewing weeks across month boundaries with deduplication logic
- Update CSS theme colors for context menus, recurrence options, and recurring edit modals

These changes ensure RFC 5545 compliance for recurring event exceptions and improve the user experience across different themes and calendar views.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Connor Johnstone
2025-09-24 10:22:02 -04:00
parent c612f567b4
commit c938f25951
4 changed files with 36 additions and 44 deletions

View File

@@ -465,13 +465,10 @@ pub async fn update_event_series(
};
// Update the event on the CalDAV server using the original event's href
println!("📤 Updating event on CalDAV server...");
let event_href = existing_event
.href
.as_ref()
.ok_or_else(|| ApiError::Internal("Event missing href for update".to_string()))?;
println!("📤 Using event href: {}", event_href);
println!("📤 Calendar path: {}", calendar_path);
match client
.update_event(&calendar_path, &updated_event, event_href)
@@ -1026,7 +1023,7 @@ async fn update_single_occurrence(
println!("✅ Created exception event successfully");
// Return the original series (now with EXDATE) - main handler will update it on CalDAV
// Return the modified existing event with EXDATE for the main handler to update on CalDAV
Ok((existing_event.clone(), 1)) // 1 occurrence modified (via exception)
}