{
@@ -108,4 +108,6 @@ const Flowchart = React.forwardRef((props: {
)
})
+Flowchart.displayName = 'Flowchart'
+
export default Flowchart
diff --git a/web/app/components/base/popover/index.tsx b/web/app/components/base/popover/index.tsx
index 1e7ba76269..8dd20efd7c 100644
--- a/web/app/components/base/popover/index.tsx
+++ b/web/app/components/base/popover/index.tsx
@@ -34,15 +34,15 @@ export default function CustomPopover({
disabled = false,
}: IPopover) {
const buttonRef = useRef
(null)
- const timeOutRef = useRef(null)
+ const timeOutRef = useRef(null)
const onMouseEnter = (isOpen: boolean) => {
- timeOutRef.current && clearTimeout(timeOutRef.current)
+ timeOutRef.current && window.clearTimeout(timeOutRef.current)
!isOpen && buttonRef.current?.click()
}
const onMouseLeave = (isOpen: boolean) => {
- timeOutRef.current = setTimeout(() => {
+ timeOutRef.current = window.setTimeout(() => {
isOpen && buttonRef.current?.click()
}, timeoutDuration)
}
diff --git a/web/app/components/base/prompt-editor/plugins/custom-text/node.tsx b/web/app/components/base/prompt-editor/plugins/custom-text/node.tsx
index 5df4894c6b..49f4a056db 100644
--- a/web/app/components/base/prompt-editor/plugins/custom-text/node.tsx
+++ b/web/app/components/base/prompt-editor/plugins/custom-text/node.tsx
@@ -1,4 +1,4 @@
-import type { EditorConfig, NodeKey, SerializedTextNode } from 'lexical'
+import type { EditorConfig, SerializedTextNode } from 'lexical'
import { $createTextNode, TextNode } from 'lexical'
export class CustomTextNode extends TextNode {
@@ -10,9 +10,9 @@ export class CustomTextNode extends TextNode {
return new CustomTextNode(node.__text, node.__key)
}
- constructor(text: string, key?: NodeKey) {
- super(text, key)
- }
+ // constructor(text: string, key?: NodeKey) {
+ // super(text, key)
+ // }
createDOM(config: EditorConfig) {
const dom = super.createDOM(config)
diff --git a/web/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx b/web/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
index 163d4bfac4..34487b257c 100644
--- a/web/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
+++ b/web/app/components/base/prompt-editor/plugins/variable-value-block/node.tsx
@@ -1,7 +1,6 @@
import type {
EditorConfig,
LexicalNode,
- NodeKey,
SerializedTextNode,
} from 'lexical'
import {
@@ -18,9 +17,9 @@ export class VariableValueBlockNode extends TextNode {
return new VariableValueBlockNode(node.__text, node.__key)
}
- constructor(text: string, key?: NodeKey) {
- super(text, key)
- }
+ // constructor(text: string, key?: NodeKey) {
+ // super(text, key)
+ // }
createDOM(config: EditorConfig): HTMLElement {
const element = super.createDOM(config)
diff --git a/web/app/components/base/tag-management/index.tsx b/web/app/components/base/tag-management/index.tsx
index 9a747910d2..5921d3da31 100644
--- a/web/app/components/base/tag-management/index.tsx
+++ b/web/app/components/base/tag-management/index.tsx
@@ -30,7 +30,7 @@ const TagManagementModal = ({ show, type }: TagManagementModalProps) => {
setTagList(res)
}
- const [pending, setPending] = useState(false)
+ const [pending, setPending] = useState(false)
const [name, setName] = useState('')
const createNewTag = async () => {
if (!name)
diff --git a/web/app/components/base/tag-management/selector.tsx b/web/app/components/base/tag-management/selector.tsx
index fd271a82e8..fca8ba1859 100644
--- a/web/app/components/base/tag-management/selector.tsx
+++ b/web/app/components/base/tag-management/selector.tsx
@@ -54,7 +54,7 @@ const Panel = (props: PanelProps) => {
return tagList.filter(tag => tag.type === type && !value.includes(tag.id) && tag.name.includes(keywords))
}, [type, tagList, value, keywords])
- const [creating, setCreating] = useState(false)
+ const [creating, setCreating] = useState(false)
const createNewTag = async () => {
if (!keywords)
return
diff --git a/web/app/components/base/tag-management/tag-item-editor.tsx b/web/app/components/base/tag-management/tag-item-editor.tsx
index 3735695302..0605f28cf6 100644
--- a/web/app/components/base/tag-management/tag-item-editor.tsx
+++ b/web/app/components/base/tag-management/tag-item-editor.tsx
@@ -78,7 +78,7 @@ const TagItemEditor: FC = ({
}
}
const [showRemoveModal, setShowRemoveModal] = useState(false)
- const [pending, setPending] = useState(false)
+ const [pending, setPending] = useState(false)
const removeTag = async (tagID: string) => {
if (pending)
return
diff --git a/web/app/components/datasets/create/step-one/index.tsx b/web/app/components/datasets/create/step-one/index.tsx
index 643932e9ae..7450e7f618 100644
--- a/web/app/components/datasets/create/step-one/index.tsx
+++ b/web/app/components/datasets/create/step-one/index.tsx
@@ -21,7 +21,7 @@ import VectorSpaceFull from '@/app/components/billing/vector-space-full'
type IStepOneProps = {
datasetId?: string
dataSourceType?: DataSourceType
- dataSourceTypeDisable: Boolean
+ dataSourceTypeDisable: boolean
hasConnection: boolean
onSetting: () => void
files: FileItem[]
diff --git a/web/app/components/datasets/create/step-two/index.tsx b/web/app/components/datasets/create/step-two/index.tsx
index 5d92e30deb..047caec78d 100644
--- a/web/app/components/datasets/create/step-two/index.tsx
+++ b/web/app/components/datasets/create/step-two/index.tsx
@@ -28,7 +28,7 @@ import Loading from '@/app/components/base/loading'
import FloatRightContainer from '@/app/components/base/float-right-container'
import RetrievalMethodConfig from '@/app/components/datasets/common/retrieval-method-config'
import EconomicalRetrievalMethodConfig from '@/app/components/datasets/common/economical-retrieval-method-config'
-import { type RetrievalConfig } from '@/types/app'
+import type { RetrievalConfig } from '@/types/app'
import { ensureRerankModelSelected, isReRankModelSelected } from '@/app/components/datasets/common/check-rerank-model'
import Toast from '@/app/components/base/toast'
import { formatNumber } from '@/utils/format'
@@ -202,7 +202,7 @@ const StepTwo = ({
}
const fetchFileIndexingEstimate = async (docForm = DocForm.TEXT, language?: string) => {
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
const res = await didFetchFileIndexingEstimate(getFileIndexingEstimateParams(docForm, language)!)
if (segmentationType === SegmentType.CUSTOM)
setCustomFileIndexingEstimate(res)
@@ -344,7 +344,7 @@ const StepTwo = ({
doc_form: docForm,
doc_language: docLanguage,
process_rule: getProcessRule(),
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
retrieval_model: retrievalConfig, // Readonly. If want to changed, just go to settings page.
embedding_model: embeddingModel.model, // Readonly
embedding_model_provider: embeddingModel.provider, // Readonly
@@ -357,7 +357,7 @@ const StepTwo = ({
rerankDefaultModel,
isRerankDefaultModelValid: !!isRerankDefaultModelValid,
rerankModelList,
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
retrievalConfig,
indexMethod: indexMethod as string,
})
@@ -367,7 +367,7 @@ const StepTwo = ({
}
const postRetrievalConfig = ensureRerankModelSelected({
rerankDefaultModel: rerankDefaultModel!,
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
retrievalConfig,
indexMethod: indexMethod as string,
})
diff --git a/web/app/components/datasets/external-api/external-api-modal/Form.tsx b/web/app/components/datasets/external-api/external-api-modal/Form.tsx
index ada01493fe..824b5e6c9e 100644
--- a/web/app/components/datasets/external-api/external-api-modal/Form.tsx
+++ b/web/app/components/datasets/external-api/external-api-modal/Form.tsx
@@ -87,4 +87,6 @@ const Form: FC = React.memo(({
)
})
+Form.displayName = 'Form'
+
export default Form
diff --git a/web/app/components/datasets/settings/form/index.tsx b/web/app/components/datasets/settings/form/index.tsx
index fa8c8de62e..4039873080 100644
--- a/web/app/components/datasets/settings/form/index.tsx
+++ b/web/app/components/datasets/settings/form/index.tsx
@@ -18,7 +18,7 @@ import { ApiConnectionMod } from '@/app/components/base/icons/src/vender/solid/d
import { updateDatasetSetting } from '@/service/datasets'
import type { DataSetListResponse } from '@/models/datasets'
import DatasetDetailContext from '@/context/dataset-detail'
-import { type RetrievalConfig } from '@/types/app'
+import type { RetrievalConfig } from '@/types/app'
import { useAppContext } from '@/context/app-context'
import { ensureRerankModelSelected, isReRankModelSelected } from '@/app/components/datasets/common/check-rerank-model'
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
diff --git a/web/app/components/header/app-nav/index.tsx b/web/app/components/header/app-nav/index.tsx
index d4dd9e3ffd..3ac57926e9 100644
--- a/web/app/components/header/app-nav/index.tsx
+++ b/web/app/components/header/app-nav/index.tsx
@@ -11,7 +11,7 @@ import {
RiRobot2Line,
} from '@remixicon/react'
import Nav from '../nav'
-import { type NavItem } from '../nav/nav-selector'
+import type { NavItem } from '../nav/nav-selector'
import { fetchAppList } from '@/service/apps'
import CreateAppTemplateDialog from '@/app/components/app/create-app-dialog'
import CreateAppModal from '@/app/components/app/create-app-modal'
diff --git a/web/app/components/share/text-generation/index.tsx b/web/app/components/share/text-generation/index.tsx
index a2f6864242..61927e3ff3 100644
--- a/web/app/components/share/text-generation/index.tsx
+++ b/web/app/components/share/text-generation/index.tsx
@@ -132,9 +132,9 @@ const TextGeneration: FC = ({
const handleSend = () => {
setIsCallBatchAPI(false)
setControlSend(Date.now())
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
setAllTaskList([]) // clear batch task running status
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
showResSidebar()
}
@@ -314,7 +314,7 @@ const TextGeneration: FC = ({
setControlSend(Date.now())
// clear run once task status
setControlStopResponding(Date.now())
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ // eslint-disable-next-line ts/no-use-before-define
showResSidebar()
}
const handleCompleted = (completionRes: string, taskId?: number, isSuccess?: boolean) => {
diff --git a/web/app/components/tools/workflow-tool/index.tsx b/web/app/components/tools/workflow-tool/index.tsx
index 54751a384a..efd01255cf 100644
--- a/web/app/components/tools/workflow-tool/index.tsx
+++ b/web/app/components/tools/workflow-tool/index.tsx
@@ -37,7 +37,7 @@ const WorkflowToolAsModal: FC = ({
}) => {
const { t } = useTranslation()
- const [showEmojiPicker, setShowEmojiPicker] = useState(false)
+ const [showEmojiPicker, setShowEmojiPicker] = useState(false)
const [emoji, setEmoji] = useState(payload.icon)
const [label, setLabel] = useState(payload.label)
const [name, setName] = useState(payload.name)
diff --git a/web/app/components/workflow/block-selector/all-tools.tsx b/web/app/components/workflow/block-selector/all-tools.tsx
index a9a316b272..67c30f4aea 100644
--- a/web/app/components/workflow/block-selector/all-tools.tsx
+++ b/web/app/components/workflow/block-selector/all-tools.tsx
@@ -89,6 +89,7 @@ const AllTools = ({
onSelect={onSelect}
viewType={activeView}
/>
+ {/* Plugins from marketplace */}
diff --git a/web/app/components/workflow/block-selector/market-place-plugin/action.tsx b/web/app/components/workflow/block-selector/market-place-plugin/action.tsx
index df606fdb41..d77ea248fe 100644
--- a/web/app/components/workflow/block-selector/market-place-plugin/action.tsx
+++ b/web/app/components/workflow/block-selector/market-place-plugin/action.tsx
@@ -1,6 +1,6 @@
'use client'
import type { FC } from 'react'
-import React, { useCallback, useRef, useState } from 'react'
+import React, { useCallback, useRef } from 'react'
import { useTranslation } from 'react-i18next'
import { RiMoreFill } from '@remixicon/react'
import ActionButton from '@/app/components/base/action-button'
@@ -13,16 +13,20 @@ import {
import cn from '@/utils/classnames'
type Props = {
+ open: boolean
+ onOpenChange: (v: boolean) => void
}
-const OperationDropdown: FC