Skip to content

Commit bde1c23

Browse files
[Chat] Fix crash when inline image is deleted from another client (#4261)
1 parent 033332e commit bde1c23

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"type": "none",
3+
"area": "fix",
4+
"workstream": "InlineImage",
5+
"comment": "Fix crush when inline image is deleted from another client",
6+
"packageName": "@azure/communication-react",
7+
"email": "[email protected]",
8+
"dependentChangeType": "none"
9+
}

packages/react-components/src/components/ImageOverlay.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ export const ImageOverlay = (props: ImageOverlayProps): JSX.Element => {
120120
aria-live={'polite'}
121121
/* @conditional-compile-remove(image-overlay) */
122122
aria-label={localeStrings.downloadButtonLabel}
123+
disabled={imageSrc === ''}
123124
/>
124125
)}
125126
{onDownloadButtonClicked && (
@@ -130,6 +131,7 @@ export const ImageOverlay = (props: ImageOverlayProps): JSX.Element => {
130131
/* @conditional-compile-remove(image-overlay) */
131132
aria-label={localeStrings.downloadButtonLabel}
132133
aria-live={'polite'}
134+
disabled={imageSrc === ''}
133135
/>
134136
)}
135137
<IconButton

packages/react-composites/src/composites/ChatComposite/ChatScreen.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,10 @@ export const ChatScreen = (props: ChatScreenProps): JSX.Element => {
170170
if (overlayImageItem === undefined) {
171171
return;
172172
}
173-
const message = adapter.getState().thread.chatMessages[overlayImageItem?.messageId];
173+
const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId];
174+
if (message === undefined) {
175+
return;
176+
}
174177
const resourceCache = message.resourceCache;
175178
if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {
176179
const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);

0 commit comments

Comments
 (0)