Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

feat(inbox): reactions on every channel, and one id namespace for WhatsApp messages

merged#2513CedarCopilot

CedarCopilot wants to merge 0 commits into staging from feat/slack-style-reactions

81 files changed

Libra does not show diffs here. View the full diff on GitHub.

  • modifiedapps/mail/app/(full-width)/SunlitBackground/SunlitBackground.tsx+33-3
  • modifiedapps/mail/app/(full-width)/SunlitBackground/sunlit.css+11-0
  • modifiedapps/mail/components/ui/day-divider.tsx+4-1
  • modifiedapps/mail/components/ui/emoji-picker.tsx+83-25
  • addedapps/mail/components/ui/split-button.tsx+58-0
  • modifiedapps/mail/modules/calendar/components/EventConversationBadge.tsx+138-17
  • modifiedapps/mail/modules/calendar/store/calendarSlice.ts+15-0
  • modifiedapps/mail/modules/cedar-os/src/cedar-os-components/chatComponents/contextKinds.ts+22-16
  • modifiedapps/mail/modules/cedar-os/src/cedar-os-components/chatInput/ContextBadgeRow.tsx+71-3
  • modifiedapps/mail/modules/cedar-os/src/store/agentConnection/agentConnectionSlice.ts+51-1
  • modifiedapps/mail/modules/cedar-os/src/store/agentContext/agentContextSlice.ts+82-4
  • modifiedapps/mail/modules/cedar-os/src/store/messages/MessageTypes.ts+18-1
  • modifiedapps/mail/modules/conversations/components/timeline/MessageReactions.tsx+8-24
  • addedapps/mail/modules/conversations/components/timeline/ReactionChip.tsx+60-0
  • modifiedapps/mail/modules/conversations/components/timeline/emoji-shortcodes.ts+9-2
  • addedapps/mail/modules/crm/components/ChangeCompanyEnrichmentDialog.tsx+341-0
  • modifiedapps/mail/modules/crm/components/CompanyMergeDropdown.tsx+10-213
  • modifiedapps/mail/modules/crm/components/conversation-canvas/CreateConversationDialog.tsx+4-1
  • modifiedapps/mail/modules/home/components/AgentHomeHero.tsx+15-0
  • modifiedapps/mail/modules/home/components/agentHomeActions.ts+17-11
  • modifiedapps/mail/modules/inbox/components/ChannelMessageList.tsx+102-75
  • modifiedapps/mail/modules/inbox/components/ChannelThreadView.tsx+206-23
  • modifiedapps/mail/modules/inbox/components/SlackThreadPanel.tsx+4-1
  • addedapps/mail/modules/inbox/hooks/use-chat-reactions.ts+161-0
  • addedapps/mail/modules/threads/rendering/done-thread-resurrection.ts+166-0
  • modifiedapps/mail/modules/threads/rendering/use-optimistic-actions.ts+29-0
  • modifiedapps/mail/modules/threads/thread/components/ConversationBadge.tsx+400-78
  • modifiedapps/mail/modules/threads/thread/components/thread-display.tsx+12-10
  • modifiedapps/mail/modules/ux/layout/resolveContext.ts+8-0
  • modifiedapps/mail/providers/query-provider.tsx+11-0
  • modifiedapps/mail/tests/lib/gmailSimulator.ts+16-0
  • modifiedapps/mail/tests/lib/labelFlowHarness.tsx+7-2
  • addedapps/mail/tests/modules/chat-store/channelContext.test.tsx+153-0
  • addedapps/mail/tests/modules/conversations/emojiShortcodes.test.ts+36-0
  • addedapps/mail/tests/modules/inbox/channelAttachments.test.tsx+117-0
  • modifiedapps/mail/tests/modules/inbox/channelReactions.test.tsx+35-3
  • addedapps/mail/tests/modules/inbox/chatMessageOrdering.test.ts+70-0
  • addedapps/mail/tests/modules/inbox/chatReactions.test.ts+85-0
  • addedapps/mail/tests/modules/threads/mark-done-flow.test.tsx+235-0
  • modifiedapps/server/docs/design/chat-stream-listener.md+192-176
  • addedapps/server/docs/design/whatsapp-architecture-parity.md+202-0
  • modifiedapps/server/docs/slack-images.md+39-0
  • modifiedapps/server/package.json+1-0
  • addedapps/server/src/db/migrations/container_participant_attendee_id.sql+18-0
  • addedapps/server/src/db/migrations/linkedin_message_reactions.sql+12-0
  • addedapps/server/src/db/migrations/whatsapp_message_identity.sql+43-0
  • addedapps/server/src/db/migrations/whatsapp_message_surface_columns.sql+25-0
  • modifiedapps/server/src/db/outbound-ddl.sql+16-0
  • modifiedapps/server/src/db/outbound-schema.ts+60-1
  • addedapps/server/src/docs/bug-mark-done-threads-reappear.md+276-0
  • modifiedapps/server/src/mastra/routeHandlers/chat/handleChat.ts+20-0
  • modifiedapps/server/src/mastra/types/chat-context.ts+57-2
  • addedapps/server/src/mastra/utils/context-items/hydrate-channels.test.ts+203-0
  • modifiedapps/server/src/mastra/utils/context-items/hydrate.ts+108-17
  • modifiedapps/server/src/mastra/workflows/chat/chat-workflow.ts+85-1
  • addedapps/server/src/scripts/rekey-whatsapp-message-ids.ts+0-0
  • addedapps/server/src/services/channels/__test__/octx-awaited.test.ts+36-0
  • addedapps/server/src/services/crm/__tests__/channel-reactions.test.ts+99-0
  • addedapps/server/src/services/crm/__tests__/slack-reactions.test.ts+84-0
  • addedapps/server/src/services/crm/channel-reactions.ts+108-0
  • modifiedapps/server/src/services/crm/conversations.ts+14-29
  • modifiedapps/server/src/services/crm/slack-events.ts+20-0
  • addedapps/server/src/services/crm/slack-reactions.ts+227-0
  • addedapps/server/src/services/crm/thread-conversation-link.ts+134-0
  • modifiedapps/server/src/services/inbox/slack-messages.ts+56-2
  • modifiedapps/server/src/services/inbox/slack-thread.ts+6-0
  • modifiedapps/server/src/services/integrations/linkedin/messaging.ts+128-3
  • modifiedapps/server/src/services/integrations/linkedin/unipile-client.ts+26-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-attachment-urls.test.ts+81-0
  • addedapps/server/src/services/integrations/slack/slack-attachment-urls.ts+63-0
  • modifiedapps/server/src/services/integrations/slack/slack.ts+40-0
  • addedapps/server/src/services/integrations/whatsapp/__tests__/message-identity.test.ts+98-0
  • addedapps/server/src/services/integrations/whatsapp/__tests__/message-surface-fields.test.ts+47-0
  • addedapps/server/src/services/integrations/whatsapp/__tests__/participant-refs.test.ts+41-0
  • modifiedapps/server/src/services/integrations/whatsapp/index.ts+467-12
  • modifiedapps/server/src/services/mail/list/route-list-threads.ts+7-0
  • modifiedapps/server/src/services/mail/sync/threads.ts+21-1
  • modifiedapps/server/src/trpc/routes/crm.ts+220-22
  • modifiedapps/server/src/trpc/routes/inbox.ts+50-0
  • modifiedapps/server/src/trpc/routes/linkedin.ts+1-1
  • modifiedapps/server/src/trpc/routes/outbound.ts+2-2