mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 17:30:16 +01:00
🧵 fix: Prevent Unnecessary Re-renders when Loading Chats (#5189)
* chore: typing * chore: typing * fix: enhance message scrolling logic to handle empty messages tree and ref checks * fix: optimize message selection logic with useCallback for better performance * chore: typing * refactor: optimize icon rendering * refactor: further optimize chat props * fix: remove unnecessary console log in useQueryParams cleanup * refactor: add queryClient to reset message data on new conversation initiation * refactor: update data-testid attributes for consistency and improve code readability * refactor: integrate queryClient to reset message data on new conversation initiation
This commit is contained in:
parent
7987e04a2c
commit
b01c744eb8
20 changed files with 184 additions and 88 deletions
|
|
@ -1,10 +1,10 @@
|
|||
import React, { memo } from 'react';
|
||||
import type { TPreset } from 'librechat-data-provider';
|
||||
import type { IconMapProps } from '~/common';
|
||||
import { icons } from '~/components/Chat/Menus/Endpoints/Icons';
|
||||
|
||||
interface ConvoIconURLProps {
|
||||
preset: TPreset | null;
|
||||
iconURL?: string;
|
||||
modelLabel?: string;
|
||||
endpointIconURL?: string;
|
||||
assistantName?: string;
|
||||
agentName?: string;
|
||||
|
|
@ -29,7 +29,8 @@ const styleImageMap = {
|
|||
};
|
||||
|
||||
const ConvoIconURL: React.FC<ConvoIconURLProps> = ({
|
||||
preset,
|
||||
iconURL = '',
|
||||
modelLabel = '',
|
||||
endpointIconURL,
|
||||
assistantAvatar,
|
||||
assistantName,
|
||||
|
|
@ -37,7 +38,6 @@ const ConvoIconURL: React.FC<ConvoIconURLProps> = ({
|
|||
agentName,
|
||||
context,
|
||||
}) => {
|
||||
const { iconURL = '' } = preset ?? {};
|
||||
let Icon: (
|
||||
props: IconMapProps & {
|
||||
context?: string;
|
||||
|
|
@ -57,7 +57,7 @@ const ConvoIconURL: React.FC<ConvoIconURLProps> = ({
|
|||
>
|
||||
<img
|
||||
src={iconURL}
|
||||
alt={preset?.chatGptLabel ?? preset?.modelLabel ?? ''}
|
||||
alt={modelLabel}
|
||||
style={styleImageMap[context ?? 'default'] ?? styleImageMap.default}
|
||||
className="object-cover"
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue