iachat/app/javascript/dashboard/components/widgets/conversation
Aakash Bakhle 101eca3003
feat: add captain editor events (#13524)
## Description

Adds missing analytics instrumentation for the editor AI funnel so we
can measure end-to-end usage and outcome quality.

### What was added

- Captain: Editor AI menu opened
- Captain: Generation failed
- Captain: AI-assisted message sent

### Behavior covered

- Tracks AI button click + menu open from both entry points:
    - top panel sparkle button
    - inline editor copilot button
- Tracks generation failures (initial + follow-up stages).
- Tracks whether accepted AI content was sent as-is or edited before
send.

### Notes

- Applies to editor Captain accept/send flow
(rewrite/summarize/reply_suggestion + follow-ups).
- Does not change Copilot sidebar flow instrumentation.

## Type of change

- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality not to work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

### Manual verification steps

<img width="1906" height="832" alt="image"
src="https://github.com/user-attachments/assets/f0ade43b-aa8d-41be-8ca2-20a091a81f60"
/>

<img width="828" height="280" alt="image"
src="https://github.com/user-attachments/assets/be76219e-fb61-4a6e-bff5-dc085b0a3cc9"
/>

<img width="415" height="147" alt="image"
src="https://github.com/user-attachments/assets/36802c5c-33a7-49ed-bf7e-f0b02d86dccc"
/>

<img width="2040" height="516" alt="image"
src="https://github.com/user-attachments/assets/74b95288-bc86-4312-a282-14211ae8f25c"
/>


1. Open a conversation with Captain tasks enabled.
2. Click AI button in top panel and inline editor.
3. Confirm analytics events fire for:
    - AI menu opened
4. Run an AI action and force a failure scenario (or empty response
path) and confirm generation-failed event.
5. Accept AI output, then:
    - send without changes -> editedBeforeSend: false
    - edit then send -> editedBeforeSend: true

## 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream
modules
2026-02-17 13:26:56 +05:30
..
advancedFilterItems fix: Add Portuguese (Brazil) to CSAT template language options (#13343) 2026-01-22 15:59:24 +04:00
components chore: Replace Thumbnail with Avatar (#12119) 2025-08-11 15:47:17 +05:30
ContentTemplates feat: Add call-to-action template support for Twilio (#13179) 2026-01-06 10:38:36 +04:00
contextMenu chore: Add new tab and copy link to conversation context menu (#12089) 2025-08-04 15:22:20 -07:00
conversation fix: apply installation branding replacement in tooltip copy (#13538) 2026-02-13 16:47:25 -08:00
conversationBulkActions feat: Bulk actions for contacts (#12763) 2025-10-30 15:28:28 +05:30
conversationCardComponents chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
copilot feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
EmptyState chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
helpers chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
linear chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
WhatsappTemplates refactor: Consolidate WhatsApp template components and improve naming (#12299) 2025-08-26 15:20:53 +05:30
CannedResponse.vue style: apply fixes for eslint issues [cw-3590] (#10210) 2024-10-03 15:02:12 +05:30
ConversationBasicFilter.vue fix: Fix the translation issue on conversation filter reload (#11513) 2025-05-19 11:18:06 -07:00
ConversationBox.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
ConversationCard.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
ConversationHeader.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
ConversationSidebar.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
CopilotEditorSection.vue feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
EmailTranscriptModal.vue chore: Remove old buttons from Vue2 design (#11159) 2025-03-31 17:51:38 -07:00
FilterItem.vue chore: Update chat list header UI (#10573) 2024-12-12 10:12:07 +05:30
MessagePreview.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
MessageSignatureMissingAlert.vue feat: new Captain Editor (#13235) 2026-01-21 13:39:07 +05:30
MessagesView.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
MoreActions.vue fix: Update design to fix the crowded header (#11633) 2025-05-29 18:45:28 -06:00
OnboardingFeatureCard.vue chore: Update theme colors and add new Inter variable fonts (#13347) 2026-01-28 14:36:04 -08:00
OnboardingView.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
PriorityMark.vue chore(v4): Update colors (#10700) 2025-01-16 15:27:23 +05:30
QuotedEmailPreview.vue fix: Rendering on email without html content (#12561) 2025-10-01 13:43:05 +05:30
ReplyBox.vue feat: add captain editor events (#13524) 2026-02-17 13:26:56 +05:30
ReplyBoxBanner.vue fix: Wrong assignee displayed after switching conversations (#13501) 2026-02-10 15:23:55 +05:30
ReplyEmailHead.vue chore: Update styles in settings pages (#11070) 2025-03-18 14:40:02 -07:00
ReplyToMessage.vue chore: Update buttons in conversation screens - 2 (#11134) 2025-03-21 21:54:54 +05:30
ShopifyOrderItem.vue chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
ShopifyOrdersList.vue feat(apps): Shopify Integration (#11101) 2025-03-19 15:37:55 -07:00
TagAgents.vue feat: Add the ability to mention team in private message (#11758) 2025-07-02 19:57:59 +05:30
TagTools.vue feat: New Scenarios page (#11975) 2025-07-30 19:34:27 +05:30
VariableList.vue fix: Variable search item not showing after braces/commas (#11864) 2025-07-03 19:39:36 +05:30
VoiceCallStatus.vue feat: outbound voice call essentials (#12782) 2025-11-24 17:47:00 -08:00