mirror of
https://github.com/chatwoot/chatwoot.git
synced 2026-07-04 21:06:27 +08:00
## Description Fixes the reversed message delivery status indicators for the API channel. The API inbox was grouped with the web widget inbox in the `isDelivered` computed property, causing both to treat a `sent` status as `delivered`. Since the API channel provides real `sent`/`delivered`/`read` status values from external systems (unlike the web widget which has no separate delivery confirmation), the API inbox needs its own handling. **Before this fix:** - Status `sent` (0) → incorrectly showed delivered checkmarks - Status `delivered` (1) → incorrectly showed "Sending" spinner **After this fix:** - Status `sent` → correctly shows sent indicator (single checkmark) - Status `delivered` → correctly shows delivered indicator (double checkmarks) - Status `read` → unchanged (already worked correctly) The web widget inbox behavior is unchanged — it still treats `sent` as `delivered` since it lacks a separate delivery confirmation mechanism. Fixes #13576 ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) ## How Has This Been Tested? Verified by code review that the computed properties now correctly map API channel message statuses: - `isSent` returns `true` when `status === 'sent'` for API inbox - `isDelivered` returns `true` when `status === 'delivered'` for API inbox - `isRead` unchanged — already checks `status === 'read'` for API inbox - Web widget inbox logic is unchanged ## 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 - [x] My changes generate no new warnings *This PR was created with the assistance of Claude Opus 4.6 by Anthropic. Happy to make any adjustments! Reviewed and submitted by a human.* Co-authored-by: Your Name <your-email@example.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com> |
||
|---|---|---|
| .. | ||
| Accordion | ||
| AssignmentPolicy | ||
| avatar | ||
| banner | ||
| breadcrumb | ||
| button | ||
| buttonGroup | ||
| Campaigns | ||
| captain | ||
| changelog-card | ||
| checkbox | ||
| colorpicker | ||
| combobox | ||
| Companies | ||
| Contacts | ||
| content-templates | ||
| Conversation | ||
| ConversationWorkflow | ||
| copilot | ||
| CustomAttributes | ||
| dialog | ||
| dropdown-menu | ||
| Editor | ||
| feature-spotlight | ||
| filter | ||
| flag | ||
| HelpCenter | ||
| icon | ||
| Inbox | ||
| inline-input | ||
| input | ||
| label | ||
| message | ||
| NewConversation | ||
| pagination | ||
| phonenumberinput | ||
| radioCard | ||
| select | ||
| selectmenu | ||
| Settings | ||
| sidebar | ||
| spinner | ||
| switch | ||
| tabbar | ||
| table | ||
| taginput | ||
| textarea | ||
| year-in-review | ||
| CardLayout.vue | ||
| EmptyStateLayout.vue | ||
| SidebarActionsHeader.story.vue | ||
| SidebarActionsHeader.vue | ||
| TeleportWithDirection.vue | ||