chatwoot/app/javascript/dashboard/helper
Sony Mathew f33e469e9a
feat: Unread Count: Frontend changes for showing unread count badges (3/3)[CW-6851] (#14372)
# Pull Request Template

## Description
This is the third and final PR in a series of PRs for Introducing unread
counts in the sidebar for inboxes and labels.

In this PR:
* Added frontend changes to show the badges for unread counts for
Inboxes and Labels
* Added specs for the changes

Issue:
https://linear.app/chatwoot/issue/CW-6851/support-unread-conversation-counts



## Type of change

Please delete options that are not relevant.

- [ ] 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?

Tested this locally. Cases to test:
* Send a message from the widget and see if the count changes
* Mark a conversation as unread and see the count change for inbox
* Open an unread conversation as agent and see the count go down
* Add a label to an unread conversation from sidebar right click action
without opening the conversation and see the count of un-reads on the
label change

Added the screenshot of how it will look like

<img width="614" height="990" alt="Screenshot 2026-05-05 at 7 00 11 PM"
src="https://github.com/user-attachments/assets/99fbaa9f-bcf2-4d8d-86e2-5727f652a9dd"
/>



## 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
- [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

---------

Co-authored-by: Sojan Jose <sojan@pepalo.com>
2026-05-20 19:21:25 +05:30
..
AnalyticsHelper feat: onboarding account details with enriched data [UPM-17][UPM-18] (#13979) 2026-04-28 10:35:51 +05:30
AudioAlerts feat: handle mine event for incoming messages (#10867) 2025-02-11 17:45:31 +05:30
CacheHelper feat: fallback to DB localStorage for idb names (#8682) 2024-01-15 15:08:15 +05:30
commandbar feat: Rewrite command bar mixin to a composable (#10015) 2024-08-26 15:55:59 +05:30
snoozeDateParser fix(i18n): add zh_TW snooze parser locale (#13822) 2026-03-25 16:54:18 +05:30
specs feat: Unread Count: Frontend changes for showing unread count badges (3/3)[CW-6851] (#14372) 2026-05-20 19:21:25 +05:30
actionCable.js feat: Unread Count: Frontend changes for showing unread count badges (3/3)[CW-6851] (#14372) 2026-05-20 19:21:25 +05:30
actionQueryGenerator.js fix: Unable to save automation "send email to team" (#6052) 2022-12-12 20:10:33 +05:30
agentHelper.js fix: Translate "None" option in agent assignment dropdown (#11060) 2025-03-11 14:49:27 -07:00
APIHelper.js fix: Allow users to login even if they have access to more than 15 accounts (#4475) 2022-04-14 20:54:26 +05:30
auditlogHelper.js feat: Add conversation delete feature (#11677) 2025-06-05 15:53:17 -05:00
automationHelper.js feat: add automation condition to filter private notes (#12102) 2026-04-13 10:40:46 +05:30
commons.js feat: Agent assignment policy index page with CRUD actions (#12373) 2025-09-10 12:07:21 +05:30
conversationHelper.js fix: TypeError: t.messages.at is not a function (#9950) 2024-08-13 19:16:15 +05:30
customViewsHelper.js feat: Add support for frontend filtering of conversations (#11111) 2025-03-24 19:39:04 -07:00
DOMHelpers.js feat: add promise based loader for FB script (#9780) 2024-07-22 11:32:05 +05:30
downloadHelper.js feat: Add business hours in downloadable reports (#4674) 2022-05-27 09:26:59 +05:30
editorHelper.js fix: prevent -- signature delimiter rendering as \ in bubble (#14134) 2026-05-05 13:00:27 +05:30
emailQuoteExtractor.js feat: sanitize html before assiging it to tempDiv (#13252) 2026-01-12 22:41:37 +05:30
featureHelper.js chore: make all the deprecated feature flag reclaimable (#13646) 2026-02-26 18:01:13 +05:30
filterQueryGenerator.js chore: Support multiple values for automation message content (#7871) 2023-09-19 13:04:58 +05:30
flag.js chore: Replace packages with native functions (#5140) 2022-08-03 17:08:21 +05:30
inbox.js feat: Add voice calling as a capability on Twilio SMS channel(Enterprise) (#13963) 2026-04-29 11:32:19 +04:00
labelColor.js feat: Create portal UI improvements (#5261) 2022-08-18 17:11:19 +05:30
markdownEmbeds.js feat: inline url embeds in article editor (#14284) 2026-05-05 14:16:24 +05:30
permissionsHelper.js chore: Remove older UI (#11720) 2025-07-01 09:43:44 +05:30
portalHelper.js feat(ee): Add article translation via LLM in help center (#14136) 2026-04-24 08:51:26 -07:00
preChat.js feat: Support Regex validation for custom attributes (#7856) 2024-01-23 18:01:57 +04:00
pushHelper.js feat: Log push notification error (#12543) 2025-09-29 15:19:45 +05:30
quotedEmailHelper.js feat: sanitize html before assiging it to tempDiv (#13252) 2026-01-12 22:41:37 +05:30
ReconnectService.js feat: Vite + vue 3 💚 (#10047) 2024-10-02 00:36:30 -07:00
routeHelpers.js chore: Custom Roles to manage permissions [ UI ] (#9865) 2024-09-17 11:40:11 -07:00
scriptHelpers.js chore(docs): Fix typos in some files (#12817) 2025-11-07 07:57:37 -08:00
snoozeHelpers.js feat: Add natural language date parser for snooze functionality (#13587) 2026-03-06 12:20:22 +04:00
states.js Move src to dashboard (#152) 2019-10-16 14:36:17 +05:30
templateHelper.js feat: Add media_name support for WhatsApp templates document files (#12462) 2025-09-18 15:25:31 +05:30
themeHelper.js feat: Support bigger font size in dashboard (#10974) 2025-02-27 12:10:33 +05:30
Timer.js feat: Voice Channel (#11602) 2025-12-19 12:41:33 -08:00
uploadHelper.js feat: Add the ability to paste images to editor (#10072) 2024-09-11 09:44:13 +05:30
URLHelper.js chore: Enable Participating tab for conversations (#11714) 2026-04-15 17:03:39 +05:30
validations.js fix: add explicit remove assignment actions to macros and automations (#12172) 2026-04-16 15:57:41 +05:30
voice.js feat(voice): Assignment aware visibility and join conflict for inbound calls (#14333) 2026-04-30 18:38:10 +04:00