Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

[Deploy]

merged#2654CedarCopilot

CedarCopilot wants to merge 2 commits into main from staging

Not deployedTimeline and evidence
  1. Opened
    Sep 2, 2026, 12:50 AM
  2. Sep 2, 2026, 1:15 AM
  3. Merged
    Sep 2, 2026, 1:21 AM
  4. Live on staging, live on prod, observed
    Pending
  5. Not deployed

    Not deployed

    Pending

Libra has no production signal for this change yet because it has not deployed. Libra checks hourly for 3 days after each deploy.

Greptile Summary

This change adds calendar conferencing and expands several mail workflows. A failed Google Calendar event creation after a Zoom meeting is provisioned leaves that Zoom meeting active, so retries can accumulate unused meetings.

Merge safety: not safe to merge until the event-save failure path deletes the Zoom meeting it created.

Confidence Score: 4/5

The calendar save flow needs compensating Zoom cleanup before this is safe to merge.

There is one verified non-security P1 finding and one P2 repository-rule finding. Under the scoring table, the P1 results in a score of 4; the P2 does not change that score.

Files Needing Attention: apps/mail/modules/calendar/components/EventComposerForm.tsx needs failure-path cleanup. apps/mail/tests/modules/conversations/conversationSearchFilterRow.test.tsx needs the shared Radix import.

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for the posted P1 finding and linked it to the review comment.
  • The Zoom cleanup test source for the EventComposerForm test was attached to support the proof.
  • A test output log for the Zoom cleanup test was attached and prepared for review.

View all artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix All With AI
### Issue 1
apps/mail/modules/calendar/components/EventComposerForm.tsx:599-610
**Zoom cleanup omitted**

When Google Calendar rejects the event creation after `buildConferencePayload` has created the Zoom meeting, this path only reports the error and never deletes that meeting. The failed attempt therefore leaves an orphan in the user's Zoom account, and each retry can create another.

### Issue 2
apps/mail/tests/modules/conversations/conversationSearchFilterRow.test.tsx:11
**Separate Radix registry**

Importing `Dialog` from the standalone package gives this test a different dismissable-layer boundary from production primitives imported through `radix-ui`. This weakens its coverage of nested-layer and Escape behavior.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Merge pull request #2653 from CedarCopil..." | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

Context used:

  • Context used - CLAUDE.md (source)
Show production surfaces and changed-file mapping

Production surfaces

Libra has not measured any production surfaces for this change yet.

Changed files → surfaces

  • .claude/skills/frontend-design/SKILL.mdno production surface mapped
  • CLAUDE.mdno production surface mapped
  • apps/mail/app/(full-width)/home/demos.tsxno production surface mapped
  • apps/mail/app/(full-width)/onboarding-login/page.tsxno production surface mapped
  • apps/mail/app/(full-width)/onboarding-setup/page.tsxno production surface mapped
  • apps/mail/app/(full-width)/onboarding/page.tsxno production surface mapped
  • apps/mail/app/(routes)/playground/components/IntegrationsTabContent.tsxno production surface mapped
  • apps/mail/app/(routes)/settings/connections/page.tsxno production surface mapped
  • apps/mail/app/globals.cssno production surface mapped
  • apps/mail/app/page.tsxno production surface mapped
  • apps/mail/app/routes.tsno production surface mapped
  • apps/mail/components/icons/agent-avatar.tsxno production surface mapped
  • apps/mail/components/icons/animated/agent-avatars.tsxno production surface mapped
  • apps/mail/components/layout/ResizableSidebar.tsxno production surface mapped
  • apps/mail/components/ui/alert-dialog.tsxno production surface mapped
  • apps/mail/components/ui/breadcrumb.tsxno production surface mapped
  • apps/mail/components/ui/dialog.tsxno production surface mapped
  • apps/mail/components/ui/dropdown-menu.tsxno production surface mapped
  • apps/mail/components/ui/field.tsxno production surface mapped
  • apps/mail/components/ui/nav-user.tsxno production surface mapped
  • apps/mail/components/ui/option-picker.tsxno production surface mapped
  • apps/mail/components/ui/popover.tsxno production surface mapped
  • apps/mail/components/ui/select.tsxno production surface mapped
  • apps/mail/components/ui/settings.tsxno production surface mapped
  • apps/mail/docs/agent-workspace.mdno production surface mapped
  • apps/mail/docs/bug-inbox-channel-filter-empty.mdno production surface mapped
  • apps/mail/docs/crystallized.mdno production surface mapped
  • apps/mail/docs/daily-agenda-templates.mdno production surface mapped
  • apps/mail/docs/home-widget-rail.mdno production surface mapped
  • apps/mail/docs/new-task-modal-linear-spec.mdno production surface mapped
  • apps/mail/docs/onboarding-setup-flow.mdno production surface mapped
  • apps/mail/docs/wiki/files-ui.mdno production surface mapped
  • apps/mail/docs/wiki/layout-shell.mdno production surface mapped
  • apps/mail/docs/wiki/meetings-tab.mdno production surface mapped
  • apps/mail/hooks/use-debounce.tsno production surface mapped
  • apps/mail/hooks/use-host-routing.tsno production surface mapped
  • apps/mail/jest.setup.jsno production surface mapped
  • apps/mail/lib/marketing-host.tsno production surface mapped
  • apps/mail/modules/agentCanvas/components/AgendaMeetings.tsxno production surface mapped
  • apps/mail/modules/agentCanvas/utils/liveDay.tsno production surface mapped
  • apps/mail/modules/agents/components/AgentBackGutter.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentConfigPage.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentFamilyConnectDialog.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentHeader.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentOutputTab.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentView.tsxno production surface mapped
  • apps/mail/modules/agents/components/AgentsGrid.tsxno production surface mapped
  • apps/mail/modules/agents/utils/agent-avatar.tsno production surface mapped
  • apps/mail/modules/brain/components/BrainHero.tsxno production surface mapped
  • apps/mail/modules/brain/components/PlaybookFileTree.tsxno production surface mapped
  • apps/mail/modules/calendar/components/CalendarView.tsxno production surface mapped
  • apps/mail/modules/calendar/components/DayColumn.tsxno production surface mapped
  • apps/mail/modules/calendar/components/DraggableCalendarEvent.tsxno production surface mapped
  • apps/mail/modules/calendar/components/EventComposerForm.tsxno production surface mapped
  • apps/mail/modules/calendar/components/EventComposerPopover.tsxno production surface mapped
  • apps/mail/modules/calendar/components/EventDetailsPopover.tsxno production surface mapped
  • apps/mail/modules/calendar/components/ZoomConnectDialog.tsxno production surface mapped
  • apps/mail/modules/calendar/hooks/use-calendar.tsno production surface mapped
  • apps/mail/modules/calendar/hooks/use-conferencing.tsno production surface mapped
  • apps/mail/modules/calendar/store/calendarSlice.tsno production surface mapped
  • apps/mail/modules/calendar/types/calendar-types.tsno production surface mapped
  • apps/mail/modules/calendar/utils/conferencing.tsno production surface mapped
  • apps/mail/modules/calendar/utils/draftEvent.tsno production surface mapped
  • apps/mail/modules/calendar/utils/dragDebug.tsno production surface mapped
  • apps/mail/modules/canvas/components/CardListCanvasView.tsxno production surface mapped
  • apps/mail/modules/cedar-os/src/store/agentConnection/responseProcessors/draftIdResolvedResponseProcessor.tsno production surface mapped
  • apps/mail/modules/cedar-os/src/store/agentConnection/responseProcessors/initializeResponseProcessorRegistry.tsno production surface mapped
  • apps/mail/modules/cedar-os/src/store/messages/renderers/ProposedCalendarEventRenderer.tsxno production surface mapped
  • apps/mail/modules/company/components/CompanyExplorer.tsxno production surface mapped
  • apps/mail/modules/conversations/components/AgentRow.tsxno production surface mapped
  • apps/mail/modules/conversations/components/ConversationBackGutter.tsxno production surface mapped
  • apps/mail/modules/conversations/components/ConversationBreadcrumb.tsxno production surface mapped
  • apps/mail/modules/conversations/components/ConversationScrollArea.tsxno production surface mapped
  • apps/mail/modules/conversations/components/ConversationSearchCommandBar.tsxno production surface mapped
  • apps/mail/modules/conversations/components/ConversationSearchFilterRow.tsxno production surface mapped
  • apps/mail/modules/conversations/components/LeftSidebarContent.tsxno production surface mapped
  • apps/mail/modules/conversations/components/files/AgentFilesGroup.tsxno production surface mapped
  • apps/mail/modules/conversations/components/files/FilesTab.tsxno production surface mapped
  • apps/mail/modules/conversations/components/files/__tests__/AgentFilesGroup.test.tsxno production surface mapped
  • apps/mail/modules/conversations/components/files/__tests__/buildAgentDocs.test.tsno production surface mapped
  • apps/mail/modules/conversations/components/files/resolveOpenDoc.tsno production surface mapped
  • apps/mail/modules/conversations/components/meeting/MeetingPrepPane.tsxno production surface mapped
  • apps/mail/modules/conversations/components/meeting/MeetingsTab.tsxno production surface mapped
  • apps/mail/modules/conversations/components/meeting/MeetingsTabTrigger.tsxno production surface mapped
  • apps/mail/modules/conversations/components/rail-primitives.tsxno production surface mapped
  • apps/mail/modules/conversations/components/timeline/PastEventsTimeline.tsxno production surface mapped
  • apps/mail/modules/conversations/hooks/use-conversation-body.tsno production surface mapped
  • apps/mail/modules/conversations/hooks/use-meeting-prep-agent.tsno production surface mapped
  • apps/mail/modules/conversations/utils/conversation-search-preferences.tsno production surface mapped
  • apps/mail/modules/crm/components/conversation-canvas/FilterSortConfigurationRow.tsxno production surface mapped
  • apps/mail/modules/crm/components/conversation-canvas/toolbar-pill.tsno production surface mapped
  • apps/mail/modules/crm/index.tsno production surface mapped
  • apps/mail/modules/documents/table/TableColumnMenu.tsxno production surface mapped
  • apps/mail/modules/drafting/components/__tests__/email-composer-send.test.tsxno production surface mapped
  • apps/mail/modules/drafting/components/email-composer.tsxno production surface mapped
  • apps/mail/modules/drafting/utils/save-draft-error.tsno production surface mapped
  • apps/mail/modules/files/components/FileExplorerTabs.tsxno production surface mapped
  • apps/mail/modules/files/components/list/FileListColumns.tsxno production surface mapped
  • apps/mail/modules/files/components/list/FileListRow.tsxno production surface mapped
  • apps/mail/modules/files/components/list/FileRowMenu.tsxno production surface mapped
  • apps/mail/modules/files/components/list/FileTypeIcon.tsxno production surface mapped
  • apps/mail/modules/files/components/list/index.tsno production surface mapped
  • apps/mail/modules/files/components/list/types.tsno production surface mapped
  • apps/mail/modules/home/widgets/AgentPickerDialog.tsxno production surface mapped
  • apps/mail/modules/home/widgets/HomeAgentsWidget.tsxno production surface mapped
  • apps/mail/modules/home/widgets/WidgetFrame.tsxno production surface mapped
  • apps/mail/modules/inbox/components/ChannelSelector.tsxno production surface mapped
  • apps/mail/modules/inbox/lib/channel-availability.tsno production surface mapped
  • apps/mail/modules/integrations/channel-sync-health-panel.tsxno production surface mapped
  • apps/mail/modules/integrations/slack-integration-card.tsxno production surface mapped
  • apps/mail/modules/onboarding/components/crm/crm-table-preview.tsxno production surface mapped
  • apps/mail/modules/onboarding/components/crm/simple-crm.tsxno production surface mapped
  • apps/mail/modules/onboarding/components/onboarding.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/SetupFlow.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/components/SettingRow.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/components/SetupComplete.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/components/SetupRail.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/components/SplitTemplateGallery.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/constants.tsno production surface mapped
  • apps/mail/modules/onboarding/setup/hooks/use-setup-connect.tsno production surface mapped
  • apps/mail/modules/onboarding/setup/hooks/use-setup-splits.tsno production surface mapped
  • apps/mail/modules/onboarding/setup/index.tsno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/ConnectStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/InboxDisplayStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/LiveInboxStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/PipelineStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/SubInboxStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/TasksStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/WelcomeStep.tsxno production surface mapped
  • apps/mail/modules/onboarding/setup/steps/index.tsno production surface mapped
  • apps/mail/modules/onboarding/setup/types.tsno production surface mapped
  • apps/mail/modules/onboarding/templates/README.mdno production surface mapped
  • apps/mail/modules/onboarding/templates/TemplatesPage.tsxno production surface mapped
  • apps/mail/modules/onboarding/templates/template-fixtures.tsno production surface mapped
  • apps/mail/modules/onboarding/templates/template-utils.tsxno production surface mapped
  • apps/mail/modules/threads/components/SplitInboxTabs.tsxno production surface mapped
  • apps/mail/modules/threads/components/SplitTemplateCard.tsxno production surface mapped
  • apps/mail/modules/threads/mail.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/NewTaskCard.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/NewTaskDialog.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskCommandBar.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskFilterMenu.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskKanbanBoard.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskKanbanCard.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskListView.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TaskTicketView.tsxno production surface mapped
  • apps/mail/modules/userTasks/components/TasksToolbar.tsxno production surface mapped
  • apps/mail/modules/userTasks/hooks/use-day-boundary.tsno production surface mapped
  • apps/mail/modules/userTasks/hooks/use-task-group-buckets.tsno production surface mapped
  • apps/mail/modules/userTasks/hooks/use-task-list-hotkeys.tsno production surface mapped
  • apps/mail/modules/userTasks/hooks/use-task-list-view-options.tsno production surface mapped
  • apps/mail/modules/userTasks/utils/task-order.tsno production surface mapped
  • apps/mail/modules/ux/components/navigation-page-url-sync.tsxno production surface mapped
  • apps/mail/modules/ux/layout/LayoutUrlSync.tsxno production surface mapped
  • apps/mail/tests/app/root-signed-out-host-redirect.test.tsno production surface mapped
  • apps/mail/tests/modules/agentCanvas/agenda-meetings-trim.test.tsno production surface mapped
  • apps/mail/tests/modules/calendar/conferencing.test.tsno production surface mapped
  • apps/mail/tests/modules/calendar/draftEvent.test.tsno production surface mapped
  • apps/mail/tests/modules/calendar/eventComposerPopoverDismiss.test.tsxno production surface mapped
  • apps/mail/tests/modules/calendar/zoomConnectDialog.test.tsxno production surface mapped
  • apps/mail/tests/modules/company/createNodePopoverBoard.test.tsxno production surface mapped
  • apps/mail/tests/modules/conversations/conversationSearchFilterRow.test.tsxno production surface mapped
  • apps/mail/tests/modules/conversations/conversationSearchPreferences.test.tsno production surface mapped
  • apps/mail/tests/modules/conversations/filesTabOpenDoc.test.tsno production surface mapped
  • apps/mail/tests/modules/conversations/filesTabTree.test.tsxno production surface mapped
  • apps/mail/tests/modules/conversations/meetingPrepAgent.test.tsxno production surface mapped
  • apps/mail/tests/modules/crm/conversation-search-aop-filter.test.tsno production surface mapped
  • apps/mail/tests/modules/drafting/draftIdResolved.test.tsno production surface mapped
  • apps/mail/tests/modules/drafting/saveDraftError.test.tsno production surface mapped
  • apps/mail/tests/modules/files/brain-explorer.test.tsxno production surface mapped
  • apps/mail/tests/modules/inbox/channelFilterAvailability.test.tsxno production surface mapped
  • apps/mail/tests/modules/onboarding/setupRail.test.tsxno production surface mapped
  • apps/mail/tests/modules/onboarding/setupSteps.test.tsno production surface mapped
  • apps/mail/tests/modules/userTasks/dayBoundary.test.tsno production surface mapped
  • apps/mail/tests/modules/userTasks/dealPickerScope.test.tsno production surface mapped
  • apps/mail/tests/modules/userTasks/taskOrder.test.tsno production surface mapped
  • apps/mail/tests/modules/userTasks/taskViewOptionsStability.test.tsxno production surface mapped
  • apps/mail/tests/modules/ux/layout/composeClosesOnPageChange.test.tsxno production surface mapped
  • apps/mail/tests/modules/ux/layout/layoutUrlSync.test.tsno production surface mapped
  • apps/mail/tests/modules/ux/layout/pageNavTarget.test.tsno production surface mapped
  • apps/server/docs/wiki/draft-saving.mdno production surface mapped
  • apps/server/docs/zoom-conferencing.mdno production surface mapped
  • apps/server/package.jsonno production surface mapped
  • apps/server/scripts/dev-api-only.mjsno production surface mapped
  • apps/server/src/cli/__tests__/task-groups.test.tsno production surface mapped
  • apps/server/src/cli/task-groups.tsno production surface mapped
  • apps/server/src/db/aop-schema.tsno production surface mapped
  • apps/server/src/db/migrations/two_factor_one_row_per_user.sqlno production surface mapped
  • apps/server/src/db/migrations/two_factor_policy_columns.sqlno production surface mapped
  • apps/server/src/db/schema.tsno production surface mapped
  • apps/server/src/docs/bug-draft-saving-duplicates-2026-09-01.mdno production surface mapped
  • apps/server/src/env.tsno production surface mapped
  • apps/server/src/http/app.tsno production surface mapped
  • apps/server/src/lib/auth.tsno production surface mapped
  • apps/server/src/lib/driver/__tests__/google-create-draft-404-recovery.test.tsno production surface mapped
  • apps/server/src/lib/driver/__tests__/he-interop.test.tsno production surface mapped
  • apps/server/src/lib/driver/__tests__/provider-draft-id.test.tsno production surface mapped
  • apps/server/src/lib/driver/google.tsno production surface mapped
  • apps/server/src/lib/driver/provider-draft-id.tsno production surface mapped
  • apps/server/src/lib/two-factor/README.mdno production surface mapped
  • apps/server/src/lib/two-factor/__tests__/policy.test.tsno production surface mapped
  • apps/server/src/lib/two-factor/policy.tsno production surface mapped
  • apps/server/src/lib/two-factor/session-verification.tsno production surface mapped
  • apps/server/src/mastra/tools/calendar/modifyCalendarEventTool.tsno production surface mapped
  • apps/server/src/mastra/tools/draft-comms/saveDraftTool.tsno production surface mapped
  • apps/server/src/mastra/utils/context-formatting/event-context.tsno production surface mapped
  • apps/server/src/mastra/workflows/chat/apply-overrides.tsno production surface mapped
  • apps/server/src/scripts/sweep-duplicate-drafts.tsno production surface mapped
  • apps/server/src/services/analytics/__tests__/draft-trace-attrs.test.tsno production surface mapped
  • apps/server/src/services/analytics/__tests__/update-draft-sent.test.tsno production surface mapped
  • apps/server/src/services/analytics/draft-analytics.tsno production surface mapped
  • apps/server/src/services/analytics/draft-trace-attrs.tsno production surface mapped
  • apps/server/src/services/aop/__tests__/list-conversation-agents.test.tsno production surface mapped
  • apps/server/src/services/aop/aop-agents.tsno production surface mapped
  • apps/server/src/services/calendar/__tests__/attach-conference.test.tsno production surface mapped
  • apps/server/src/services/calendar/__tests__/create-calendar-event-from-proposal.test.tsno production surface mapped
  • apps/server/src/services/calendar/attach-conference.tsno production surface mapped
  • apps/server/src/services/calendar/create-calendar-event-from-proposal.tsno production surface mapped
  • apps/server/src/services/crm/__tests__/shared-links.test.tsno production surface mapped
  • apps/server/src/services/crm/shared-links.tsno production surface mapped
  • apps/server/src/services/deliverability/open-tracking-v2.mdno production surface mapped
  • apps/server/src/services/file-system/index.tsno production surface mapped
  • apps/server/src/services/file-system/uploads/extraction.tsno production surface mapped
  • apps/server/src/services/integrations/__tests__/oauth-redirect-uri.test.tsno production surface mapped
  • apps/server/src/services/integrations/conferencing/provider-ids.tsno production surface mapped
  • apps/server/src/services/integrations/conferencing/zoom-meetings.tsno production surface mapped
  • apps/server/src/services/integrations/conferencing/zoom-oauth-driver.tsno production surface mapped
  • apps/server/src/services/integrations/connections.tsno production surface mapped
  • apps/server/src/services/integrations/constants.tsno production surface mapped
  • apps/server/src/services/integrations/mcp/index.tsno production surface mapped
  • apps/server/src/services/mail/attachments/__tests__/load-email-attachment.test.tsno production surface mapped
  • apps/server/src/services/mail/attachments/load-email-attachment.tsno production surface mapped
  • apps/server/src/services/mail/inboxes/__tests__/system-split-feed-scope.test.tsno production surface mapped
  • apps/server/src/services/mail/inboxes/inbox-definitions.tsno production surface mapped
  • apps/server/src/services/mail/send/__tests__/createDraft-bogus-id.test.tsno production surface mapped
  • apps/server/src/services/mail/send/send.tsno production surface mapped
  • apps/server/src/trpc/index.tsno production surface mapped
  • apps/server/src/trpc/routes/__tests__/calendar-conference-types.test.tsno production surface mapped
  • apps/server/src/trpc/routes/aop-agents.tsno production surface mapped
  • apps/server/src/trpc/routes/calendar.tsno production surface mapped
  • apps/server/src/trpc/routes/chat.tsno production surface mapped
  • apps/server/src/trpc/routes/conferencing.tsno production surface mapped
  • apps/server/src/trpc/routes/crm.tsno production surface mapped
  • apps/server/src/trpc/routes/files.tsno production surface mapped
  • apps/server/src/trpc/routes/integrations.tsno production surface mapped
  • apps/server/src/trpc/routes/two-factor.tsno production surface mapped
  • apps/server/src/trpc/routes/user-tasks.tsno production surface mapped
  • aws/docs/marketing-domain-split.mdno production surface mapped
  • docs/customer-feedback/2026-08-30-customer-feedback-audit.mdno production surface mapped