Skip to content

Conversation

@trabulium
Copy link

Summary

  • Merge Conversations: Allows agents to merge duplicate or related conversations into one, preserving all messages and history
  • Enhanced Search: Search now works with partial matching for names, emails, subjects, and reference numbers
  • Ticket # in List: Reference numbers are now visible in the conversation list view

Features

Conversation Merge

  • New merge button in conversation sidebar
  • Search modal to find conversations to merge into
  • Moves all messages from source to target conversation
  • Marks source as merged with timestamp
  • New conversations:merge permission for role-based access

Search Improvements

  • Partial name search (first name, last name, full name)
  • Partial email search
  • Subject/title search
  • Partial reference number search

UI Improvements

Migration

The v0.9.0 migration automatically:

  • Adds merged_into_id and merged_at columns to conversations
  • Adds conversations:merge permission to Admin role

Test Plan

  • Test merging two conversations
  • Verify merged conversation shows all messages
  • Verify source conversation is marked as merged
  • Test search with partial name (e.g., "Matt" for Matthew)
  • Test search with partial email
  • Test search with subject keywords
  • Verify reference numbers display in list view

@trabulium trabulium force-pushed the feature/merge-and-search-improvements branch from 823f3ce to a28ca47 Compare December 19, 2025 04:33
- Search now supports partial matching for:
  - Contact name (first, last, full name)
  - Email address
  - Subject/title
  - Reference number
- Display ticket reference number in conversation list view
- Add reference_number to conversation list API response
@trabulium trabulium force-pushed the feature/merge-and-search-improvements branch from a28ca47 to c8fa036 Compare December 19, 2025 04:43
@trabulium trabulium changed the title feat: Add conversation merge and enhanced search functionality feat: Enhanced search and ticket number display Dec 19, 2025
WHERE users.email ILIKE '%' || $1 || '%'
OR users.first_name ILIKE '%' || $1 || '%'
OR users.last_name ILIKE '%' || $1 || '%'
OR (users.first_name || ' ' || users.last_name) ILIKE '%' || $1 || '%'
Copy link
Owner

@abhinavxd abhinavxd Dec 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first_name, last_name, subject columns don't have an index. So on large databases this will be super slow.

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