From 6afb6f9ac31dc1c0f5ffa638651b70d4b371c60a Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Wed, 17 Jul 2024 09:03:34 -0700 Subject: [PATCH] Fix image send without description --- ts/components/CompositionArea.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ts/components/CompositionArea.tsx b/ts/components/CompositionArea.tsx index 3dc65a247..78d3fd230 100644 --- a/ts/components/CompositionArea.tsx +++ b/ts/components/CompositionArea.tsx @@ -13,6 +13,7 @@ import type { LocalizerType, ThemeType } from '../types/Util'; import type { ErrorDialogAudioRecorderType } from '../types/AudioRecorder'; import { RecordingState } from '../types/AudioRecorder'; import type { imageToBlurHash } from '../util/imageToBlurHash'; +import { dropNull } from '../util/dropNull'; import { Spinner } from './Spinner'; import type { Props as EmojiButtonProps, @@ -358,13 +359,23 @@ export const CompositionArea = memo(function CompositionArea({ const draftEditMessageBody = draftEditMessage?.body; const editedMessageId = draftEditMessage?.targetMessageId; + const canSend = + // Text or link preview edited + dirty || + // Quote of edited message changed + (draftEditMessage != null && + dropNull(draftEditMessage.quote?.messageId) !== + dropNull(quotedMessageId)) || + // Not edit message, but has attachments + (draftEditMessage == null && draftAttachments.length !== 0); + const handleSubmit = useCallback( ( message: string, bodyRanges: DraftBodyRanges, timestamp: number ): boolean => { - if (!dirty) { + if (!canSend) { return false; } @@ -393,7 +404,7 @@ export const CompositionArea = memo(function CompositionArea({ }, [ conversationId, - dirty, + canSend, draftAttachments, editedMessageId, quotedMessageSentAt, @@ -603,7 +614,7 @@ export const CompositionArea = memo(function CompositionArea({