⬆️ feat: Cancel chat file uploads; fix: Assistant uploads (#4433)

* refactor: move file mutations to dedicated file, improve typing

* refactor(ChatForm): utilize FileFormWrapper to consolidate file upload logic/rendering to single parent

* refactor: better TSX heirarchies between AttachFile and FileFormWrapper

* refactor: `abortUpload` WIP

* fix: file debugging and file upload issues

* refactor: reject promise outright if axios intercepted error does not include response property

* chore: bump data-provider version to 0.7.428

* refactor: Add return type to localize function in Translation.ts

* refactor: allow message file attachment upload request cancellations, and add localizations for file upload errors

* refactor: include Azure OpenAI in paramEndpoints set

* fix: assistant form uploads and better typing

* refactor: consolidate logic
This commit is contained in:
Danny Avila 2024-10-16 11:24:40 -04:00 committed by GitHub
parent 0870acd086
commit 65888c274a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 419 additions and 311 deletions

View file

@ -5,6 +5,7 @@ import {
mergeFileConfig,
fileConfig as defaultFileConfig,
} from 'librechat-data-provider';
import type { EndpointFileConfig } from 'librechat-data-provider';
import type { ExtendedFile } from '~/common';
import FileRow from '~/components/Chat/Input/Files/FileRow';
import { useGetFileConfig } from '~/data-provider';
@ -40,9 +41,12 @@ export default function CodeFiles({
}
}, [_files]);
const endpointFileConfig = fileConfig.endpoints[EModelEndpoint.agents];
const endpointFileConfig = fileConfig.endpoints[EModelEndpoint.agents] as
| EndpointFileConfig
| undefined;
const isUploadDisabled = endpointFileConfig?.disabled ?? false;
if (endpointFileConfig?.disabled) {
if (isUploadDisabled) {
return null;
}

View file

@ -4,7 +4,7 @@ import {
mergeFileConfig,
fileConfig as defaultFileConfig,
} from 'librechat-data-provider';
import type { AssistantsEndpoint } from 'librechat-data-provider';
import type { AssistantsEndpoint, EndpointFileConfig } from 'librechat-data-provider';
import type { ExtendedFile } from '~/common';
import FileRow from '~/components/Chat/Input/Files/FileRow';
import { useGetFileConfig } from '~/data-provider';
@ -43,9 +43,10 @@ export default function CodeFiles({
}
}, [_files]);
const endpointFileConfig = fileConfig.endpoints[endpoint];
const endpointFileConfig = fileConfig.endpoints[endpoint] as EndpointFileConfig | undefined;
const isUploadDisabled = endpointFileConfig?.disabled ?? false;
if (endpointFileConfig.disabled) {
if (isUploadDisabled) {
return null;
}

View file

@ -4,7 +4,7 @@ import {
retrievalMimeTypes,
fileConfig as defaultFileConfig,
} from 'librechat-data-provider';
import type { AssistantsEndpoint } from 'librechat-data-provider';
import type { AssistantsEndpoint, EndpointFileConfig } from 'librechat-data-provider';
import type { ExtendedFile } from '~/common';
import FileRow from '~/components/Chat/Input/Files/FileRow';
import { useGetFileConfig } from '~/data-provider';
@ -53,9 +53,10 @@ export default function Knowledge({
}
}, [_files]);
const endpointFileConfig = fileConfig.endpoints[endpoint];
const endpointFileConfig = fileConfig.endpoints[endpoint] as EndpointFileConfig | undefined;
const isUploadDisabled = endpointFileConfig?.disabled ?? false;
if (endpointFileConfig?.disabled) {
if (isUploadDisabled) {
return null;
}