fix: add type check for lastMessage.text in TTS useEffect #10431
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to address Issue #10430.
Problem
The TTS (text-to-speech)
useEffectinChatView.tsxwas crashing withTypeError: Q.text.startsWith is not a functionbecause it only checked iflastMessage.textwas truthy before calling.startsWith(). Iftextwas a non-string truthy value (array, object, or number), this would throw an error.Solution
Changed line 1019 from a truthy check to an explicit type check:
This ensures
.startsWith()will only be called on actual string values.Testing
Feedback and guidance are welcome.
Important
Fixes
TypeErrorinChatView.tsxby ensuringlastMessage.textis a string before calling.startsWith().TypeErrorinuseEffectinChatView.tsxby changinglastMessage.textcheck from truthy totypeof lastMessage.text === "string"..startsWith()is only called on strings, preventing crashes whentextis non-string.ChatViewtests pass.This description was created by
for 491abe4. You can customize this summary. It will automatically update as commits are pushed.