iachat/app
Sivin Varghese c80de24ac1
fix: TypeError Unhandled Promise Rejection: null is not an object (evaluating 'e[Symbol.iterator]') (#10007)
# Pull Request Template

## Description

**Cause of Issue**

The problem was that the `clearSelectedState` action was being
dispatched late in the component lifecycle. By the time it was called,
child components like `ConversationBox` and `MessagesView` had already
been mounted and were trying to access data from a previous conversation
that no longer existed. This resulted in throwing error `TypeError
Unhandled Promise Rejection: null is not an object (evaluating
'e[Symbol.iterator]')` when users navigated from other screens to the
conversation view screen.

**Solution**

I added the `clearSelectedState` dispatch to the `created()` lifecycle
hook for cases where there's no `conversationId` from route props. This
ensures that the state is cleared before any child components are
mounted.


Fixes
https://chatwoot-p3.sentry.io/issues/5707937964/?project=4507182691975168

## Type of change

Please delete options that are not relevant.

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

## How Has This Been Tested?

**Steps to reproduce**
1. Navigate to chat list screen and open the console.
2. Open any chat, wait to load the messages and stay in conversation
view screen.
3. Then navigate to contact or any other view from primary sidebar. 
4. Then back to chat list view. 
5. Now you can see this error in console.

**Before**

https://www.loom.com/share/193aaf1d1926479982a192dfb06a8764?sid=3f9ee000-d6a0-47cc-a49f-0050d2c64bbf

**After**

https://www.loom.com/share/3d88cfd5e7744958bc5856dd601ee6c4?sid=0e07a5d0-e461-4a1a-914b-e49f669422f5

## 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
- [ ] 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
2024-08-22 16:41:42 +05:30
..
actions fix: downcase email before finding (#8921) 2024-02-21 18:51:00 +05:30
assets chore: Reorganize the installation config settings (#8794) 2024-01-31 16:48:42 +04:00
builders feat: enable disposable email check for account creation (#9989) 2024-08-22 16:40:27 +05:30
channels chore: Sentry issues (#4623) 2022-05-06 14:50:55 +05:30
controllers fix: Handle OpenAI API errors (#9560) 2024-08-22 10:24:13 +05:30
dashboards feat: Super admin design improvements (#8517) 2023-12-08 19:40:35 -08:00
dispatchers fix: assignee_changed callback not getting triggered during conversation creation (#9334) 2024-05-06 11:48:17 -07:00
drops feat: Add the support for custom attributes in message variables (#8511) 2023-12-08 14:13:35 -08:00
fields feat: Supports masking tokens in super admin (#6491) 2023-02-21 17:50:55 +05:30
finders feat: Conversation API to return applied_sla and sla_events (#9174) 2024-04-01 23:30:07 +05:30
helpers feat: Improve Report API performance (#9476) 2024-05-22 17:34:24 -07:00
javascript fix: TypeError Unhandled Promise Rejection: null is not an object (evaluating 'e[Symbol.iterator]') (#10007) 2024-08-22 16:41:42 +05:30
jobs feat: Integration with Captain (alpha) (#9834) 2024-07-25 14:24:04 -07:00
listeners fix: Use message sender ID in the analytics for first response time (#9605) 2024-06-06 20:20:35 -07:00
mailboxes chore: Stop processing auto-response emails (#9606) 2024-06-13 14:19:11 -07:00
mailers feat: add Google Email fetch and OAuth token refresh service (#9603) 2024-06-11 14:22:03 +05:30
models fix: Handle OpenAI API errors (#9560) 2024-08-22 10:24:13 +05:30
policies feat: Add endpoints to retrieve summary of team/agents over a period of time (#8916) 2024-02-13 15:44:40 +05:30
presenters fix: last_activity_at is nil when conv is created (#9934) 2024-08-12 15:15:49 +05:30
services fix: Delete attachments when removing them from Instagram in real-time (#9996) 2024-08-21 20:10:31 +05:30
views fix: Remove user.permissions, resolve it from accounts (#9990) 2024-08-21 11:36:26 +05:30
workers fix: Capture delivery errors to avoid false positives (#8790) 2024-01-26 14:22:18 +04:00