chatwoot/app/javascript/dashboard/components
Sivin Varghese 6386eec5e7
fix: regex validation not applied for custom text attributes in UI (#14110)
# Pull Request Template

## Description

This PR fixes multiple issues related to regex patterns and validation
for custom attributes.
1. Fixed regex patterns being double-escaped when saving from Add and
Edit flows
2. Fixed regex validation not being enforced in the widget pre-chat form
3. Minor UI improvements in the Add/Edit custom attribute dialog


Fixes
[CW-6625](https://linear.app/chatwoot/issue/CW-6625/bug-report-custom-attribute-regex-validation-not-working-in-ui),
https://github.com/chatwoot/chatwoot/issues/13771

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

**Loom video**

**Before**
https://www.loom.com/share/14f1983a8bc84f9fabc3663afd83cd50

**After**
https://www.loom.com/share/867c0484741140c1944fcbd43914c9c0

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] 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
- [x] 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
2026-05-05 12:55:53 +05:30
..
Accordion chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
app feat: Add platform-wide status banners for outage notifications (#13943) 2026-04-29 17:18:38 +04:00
auth feat: Add the frontend support for MFA (#12372) 2025-09-18 21:16:06 +05:30
base feat: Eslint rules (#9839) 2024-08-05 14:02:16 +05:30
buttons feat: Conversation workflows(EE) (#13040) 2026-01-27 11:36:20 +04:00
copilot chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
table chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
ui feat: Add platform-wide status banners for outage notifications (#13943) 2026-04-29 17:18:38 +04:00
widgets feat(voice): Wire Twilio voice flow through unified call model (#14091) 2026-04-30 11:25:39 +04:00
ChannelSelector.vue fix: search header overlap with new conversation form (#13548) 2026-02-20 11:24:37 +05:30
ChatList.vue feat(v5): New expanded layout for chatlist (#13652) 2026-04-20 14:02:10 +05:30
ChatListHeader.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
Code.vue fix: Code component style issue (#12022) 2025-07-23 13:20:46 +04:00
ConversationItem.vue feat(v5): New expanded layout for chatlist (#13652) 2026-04-20 14:02:10 +05:30
ConversationList.vue fix: clean up conversation list rendering (#14107) 2026-04-20 15:48:06 +05:30
CustomAttribute.vue fix: regex validation not applied for custom text attributes in UI (#14110) 2026-05-05 12:55:53 +05:30
CustomBrandPolicyWrapper.vue style: apply fixes for eslint issues [cw-3590] (#10210) 2024-10-03 15:02:12 +05:30
CustomSnoozeModal.vue chore: Update buttons in conversation screens(#11132) 2025-03-21 14:47:28 +05:30
index.js chore: Replace Thumbnail with Avatar (#12119) 2025-08-11 15:47:17 +05:30
IntersectionObserver.vue feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
Modal.vue chore: Update buttons in conversation screens(#11132) 2025-03-21 14:47:28 +05:30
ModalHeader.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
NetworkNotification.vue chore: Update buttons in conversation screens - 2 (#11134) 2025-03-21 21:54:54 +05:30
policy.vue feat: Add visibility checks for installation types (#10773) 2025-02-21 14:48:31 -08:00
SettingsSection.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
Snackbar.vue fix: Snackbar notifications hidden behind modal dialogs (#11616) 2025-05-29 12:49:38 +05:30
SnackbarContainer.vue fix: Snackbar notifications hidden behind modal dialogs (#11616) 2025-05-29 12:49:38 +05:30