feat: Inline edit support for contact info (#13976)

# Pull Request Template

## Description

This PR adds inline editing support for contact name, phone number,
email, and company fields in the conversation contact sidebar

## Type of change

- [x] New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

**Screencast**


https://github.com/user-attachments/assets/e9f8e37d-145b-4736-b27a-eb9ea66847bd



## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [ ] I have commented on my code, particularly in hard-to-understand
areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules

---------

Co-authored-by: Pranav <pranav@chatwoot.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
Sivin Varghese
2026-04-14 18:23:40 +05:30
committed by GitHub
parent 72c9e1775b
commit 64f6bfc811
6 changed files with 196 additions and 6 deletions

View File

@@ -1,10 +1,19 @@
/* eslint-disable max-classes-per-file */
export class DuplicateContactException extends Error {
static DEFAULT_MESSAGE = 'DUPLICATE_CONTACT';
constructor(data) {
super('DUPLICATE_CONTACT');
super(DuplicateContactException.DEFAULT_MESSAGE);
this.data = data;
this.name = 'DuplicateContactException';
}
/** Server or client may assign `message` after construction; otherwise still DEFAULT_MESSAGE. */
get contactErrorDetail() {
return this.message === DuplicateContactException.DEFAULT_MESSAGE
? null
: this.message;
}
}
export class ExceptionWithMessage extends Error {
constructor(data) {