diff --git a/src/components/Message/AiMessage.tsx b/src/components/Message/AiMessage.tsx index fa883f7d..4b6ba045 100644 --- a/src/components/Message/AiMessage.tsx +++ b/src/components/Message/AiMessage.tsx @@ -159,7 +159,7 @@ function AiMessage(props: AiMessageProps) { onRetryClick={retrying ? undefined : handleRetryClick} onDeleteClick={retrying ? undefined : props.onDeleteClick} disableFork={retrying} - disableEdit={retrying} + disableEdit={message.readonly ?? retrying} /> ); } diff --git a/src/components/Message/MessageBase.tsx b/src/components/Message/MessageBase.tsx index deb5356a..286ac5e5 100644 --- a/src/components/Message/MessageBase.tsx +++ b/src/components/Message/MessageBase.tsx @@ -132,7 +132,8 @@ function MessageBase({ const { isOpen, onToggle: originalOnToggle } = useDisclosure(); const isLongMessage = text.length > 5000; const displaySummaryText = !isOpen && (summaryText || isLongMessage); - const shouldShowDeleteMenu = Boolean(onDeleteBeforeClick || onDeleteClick || onDeleteAfterClick); + const shouldShowDeleteMenu = + Boolean(onDeleteBeforeClick || onDeleteClick || onDeleteAfterClick) && !disableEdit; const chat = useLiveQuery(() => ChatCraftChat.find(chatId), [chatId]); const { user } = useUser(); const handleShareMessage = useCallback(async () => { @@ -430,7 +431,7 @@ function MessageBase({ onClick={() => onEditingChange(!editing)} /> )} - {onDeleteClick && ( + {!disableEdit && onDeleteClick && ( } @@ -496,7 +497,6 @@ function MessageBase({ {editing ? "Cancel Editing" : "Edit"} )} - {shouldShowDeleteMenu && ( <> {onDeleteClick && !onDeleteBeforeClick && !onDeleteAfterClick ? ( diff --git a/src/components/Message/SystemMessage.tsx b/src/components/Message/SystemMessage.tsx index e5461e87..e72d8a59 100644 --- a/src/components/Message/SystemMessage.tsx +++ b/src/components/Message/SystemMessage.tsx @@ -137,7 +137,7 @@ type SystemMessageProps = Omit & { }; function SystemMessage(props: SystemMessageProps) { - const { chatId, message, editing, onEditingChange } = props; + const { chatId, message, disableEdit, editing, onEditingChange } = props; const { isOpen, onToggle } = useDisclosure(); const summaryText = createSystemPromptSummary(message); const { error } = useAlert(); @@ -161,7 +161,12 @@ function SystemMessage(props: SystemMessageProps) { -