Feature Request: Extend field-based updates for Events and Todos #5
Labels
No labels
bug
documentation
duplicate
enhancement
feature-request
field-updates
good first issue
help wanted
integration
invalid
performance
phase-2
phase-3
question
research-needed
sync
testing
ui
ux
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Phil/tsdav#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Currently, field-based updates for Events (
updateEventFields) and Todos (updateTodoFields) only supportSUMMARYandDESCRIPTIONfields, while vCard updates (updateVCardFields) support 8+ fields. This creates an imbalanced API where contact updates are much more capable than calendar/todo updates.Current State
✅ Fully Implemented (VCardFields)
FN(Formatted Name)N(Structured Name)EMAILTEL(Phone)ORG(Organization)TITLE(Job Title)NOTEURL⚠️ MVP Only (EventFields)
SUMMARY✅DESCRIPTION✅LOCATION❌ (commented as "future")DTSTART❌ (commented as "future")DTEND❌ (commented as "future")RRULE❌ (commented as "future")⚠️ MVP Only (TodoFields)
SUMMARY✅DESCRIPTION✅STATUS❌ (commented as "future")PRIORITY❌ (commented as "future")PERCENT_COMPLETE❌ (commented as "future")DUE❌ (commented as "future")Proposed Implementation
EventFields Priority
High Priority:
LOCATION- Simple string field, easy to implementDTSTART- Essential for event updates, needs timezone handlingDTEND- Essential for event updates, needs timezone handlingMedium Priority:
RRULE- Complex but very useful for recurring eventsTodoFields Priority
High Priority:
STATUS- Enum field (NEEDS-ACTION | IN-PROCESS | COMPLETED | CANCELLED)DUE- DateTime field, similar to DTSTART/DTENDPRIORITY- Integer 0-9Medium Priority:
PERCENT_COMPLETE- Integer 0-100Use Cases
Event Updates
Todo Updates
Technical Considerations
DateTime Handling
Status Validation
Recurrence Rules (RRULE)
Benefits
Implementation Approach
Phase 1 (Simple Fields):
LOCATION(string)STATUS(enum)PRIORITY(number)Phase 2 (DateTime Fields):
DTSTART,DTEND,DUEPhase 3 (Complex Fields):
RRULEparsing and validationPERCENT_COMPLETEReferences
src/types/fieldUpdates.ts: Type definitions with commented future fieldssrc/util/calendarFieldUpdater.ts: Event field updater implementationsrc/util/todoFieldUpdater.ts: Todo field updater implementationsrc/util/vCardFieldUpdater.ts: Complete vCard implementation (reference)