Skip to content

feat(daily): add Calendar widget showing today's Google Calendar events#848

Open
AggManik wants to merge 2 commits into
mainfrom
feature/calendar-widget-plan
Open

feat(daily): add Calendar widget showing today's Google Calendar events#848
AggManik wants to merge 2 commits into
mainfrom
feature/calendar-widget-plan

Conversation

@AggManik

@AggManik AggManik commented May 7, 2026

Copy link
Copy Markdown
Contributor
  • New native widget CalendarWidget renders today's events sorted by start time, with all-day events at the top
  • New API route GET /api/v1/calendar/today-events fetches events via the google-calendar integration using the user's local timezone
  • Registers "calendar" in NATIVE_WIDGETS so users can add it via the widget picker in the Daily section
  • Updates google-calendar list_events to return structured JSON instead of a formatted string so the route can parse event objects cleanly

- New native widget CalendarWidget renders today's events sorted by
  start time, with all-day events at the top
- New API route GET /api/v1/calendar/today-events fetches events via
  the google-calendar integration using the user's local timezone
- Registers "calendar" in NATIVE_WIDGETS so users can add it via the
  widget picker in the Daily section
- Updates google-calendar list_events to return structured JSON instead
  of a formatted string so the route can parse event objects cleanly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AggManik AggManik requested a review from harshithmullapudi May 7, 2026 09:39
@harshithmullapudi harshithmullapudi self-assigned this May 7, 2026
@AggManik

Copy link
Copy Markdown
Contributor Author

Patched this PR to avoid throwing when Google Calendar isn’t connected.

Changes (commit 74b7da0 on feature/calendar-widget-plan):

  • Guard missing authentication.workspaceId → return { events: [], connected: false }
  • Wrap IntegrationLoader.getConnectedIntegrationAccounts(...) in try/catch → on error return { events: [], connected: false }

Net: calendar widget renders the empty/not-connected state instead of 500ing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants