mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 17:30:16 +01:00
🔧 fix: Improve Assistants File Citation & Download Handling (#2248)
* fix(processMessages): properly handle assistant file citations and add sources list * feat: improve file download UX by making any downloaded files accessible within the app post-download * refactor(processOpenAIImageOutput): correctly handle two different outputs for images since OpenAI generates a file in their storage, shares filepath for image rendering * refactor: create `addFileToCache` helper to use across frontend * refactor: add ImageFile parts to cache on processing content stream
This commit is contained in:
parent
bc2a628902
commit
6a6b2e79b0
11 changed files with 142 additions and 57 deletions
|
|
@ -1,4 +1,6 @@
|
|||
import { excelMimeTypes } from 'librechat-data-provider';
|
||||
import { excelMimeTypes, QueryKeys } from 'librechat-data-provider';
|
||||
import type { QueryClient } from '@tanstack/react-query';
|
||||
import type { TFile } from 'librechat-data-provider';
|
||||
import SheetPaths from '~/components/svg/Files/SheetPaths';
|
||||
import TextPaths from '~/components/svg/Files/TextPaths';
|
||||
import FilePaths from '~/components/svg/Files/FilePaths';
|
||||
|
|
@ -128,3 +130,32 @@ export function formatDate(dateString) {
|
|||
|
||||
return `${day} ${month} ${year}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a file to the query cache
|
||||
*/
|
||||
export function addFileToCache(queryClient: QueryClient, newfile: TFile) {
|
||||
const currentFiles = queryClient.getQueryData<TFile[]>([QueryKeys.files]);
|
||||
|
||||
if (!currentFiles) {
|
||||
console.warn('No current files found in cache, skipped updating file query cache');
|
||||
return;
|
||||
}
|
||||
|
||||
const fileIndex = currentFiles.findIndex((file) => file.file_id === newfile.file_id);
|
||||
|
||||
if (fileIndex > -1) {
|
||||
console.warn('File already exists in cache, skipped updating file query cache');
|
||||
return;
|
||||
}
|
||||
|
||||
queryClient.setQueryData<TFile[]>(
|
||||
[QueryKeys.files],
|
||||
[
|
||||
{
|
||||
...newfile,
|
||||
},
|
||||
...currentFiles,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue