diff --git a/electron/.eslintrc.js b/electron/.eslintrc.js
index 8b270b52e..20e79804f 100644
--- a/electron/.eslintrc.js
+++ b/electron/.eslintrc.js
@@ -35,5 +35,12 @@ module.exports = {
{ name: 'Link', linkAttribute: 'to' },
],
},
- ignorePatterns: ['build', 'renderer', 'node_modules', '@global', 'playwright-report'],
+ ignorePatterns: [
+ 'build',
+ 'renderer',
+ 'node_modules',
+ '@global',
+ 'playwright-report',
+ 'test-data',
+ ],
}
diff --git a/electron/tsconfig.json b/electron/tsconfig.json
index 11c9d8577..5116f0e88 100644
--- a/electron/tsconfig.json
+++ b/electron/tsconfig.json
@@ -19,5 +19,5 @@
"esm": true
},
"include": ["./**/*.ts"],
- "exclude": ["core", "build", "dist", "tests", "node_modules"]
+ "exclude": ["core", "build", "dist", "tests", "node_modules", "test-data"]
}
diff --git a/extensions/engine-management-extension/src/index.ts b/extensions/engine-management-extension/src/index.ts
index 518e1c36f..083aa8d50 100644
--- a/extensions/engine-management-extension/src/index.ts
+++ b/extensions/engine-management-extension/src/index.ts
@@ -266,7 +266,9 @@ export default class JanEngineManagementExtension extends EngineManagementExtens
.get(`${API_URL}/healthz`, {
retry: { limit: 20, delay: () => 500, methods: ['get'] },
})
- .then(() => {})
+ .then(() => {
+ this.queue.concurrency = Infinity
+ })
}
/**
diff --git a/extensions/inference-cortex-extension/bin/version.txt b/extensions/inference-cortex-extension/bin/version.txt
index 61be6e216..428c6e50d 100644
--- a/extensions/inference-cortex-extension/bin/version.txt
+++ b/extensions/inference-cortex-extension/bin/version.txt
@@ -1 +1 @@
-1.0.11-rc2
+1.0.11-rc3
diff --git a/web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.test.tsx b/web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.test.tsx
similarity index 93%
rename from web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.test.tsx
rename to web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.test.tsx
index 8e316ee98..42e87cdd3 100644
--- a/web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.test.tsx
+++ b/web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.test.tsx
@@ -1,7 +1,7 @@
import React from 'react'
import { render, screen, fireEvent } from '@testing-library/react'
import { Provider } from 'jotai'
-import OnDeviceStarterScreen from './index'
+import OnboardingScreen from './index'
import * as jotai from 'jotai'
import '@testing-library/jest-dom'
@@ -74,7 +74,7 @@ describe('OnDeviceStarterScreen', () => {
})
render(
-
+
)
@@ -90,7 +90,7 @@ describe('OnDeviceStarterScreen', () => {
})
render(
-
+
)
@@ -110,7 +110,7 @@ describe('OnDeviceStarterScreen', () => {
})
render(
-
+
)
@@ -164,7 +164,7 @@ describe('OnDeviceStarterScreen', () => {
render(
-
+
)
@@ -191,7 +191,7 @@ describe('OnDeviceStarterScreen', () => {
render(
-
+
)
diff --git a/web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.tsx b/web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.tsx
similarity index 83%
rename from web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.tsx
rename to web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.tsx
index 58413a3b7..e1b1110e0 100644
--- a/web/screens/Thread/ThreadCenterPanel/ChatBody/OnDeviceStarterScreen/index.tsx
+++ b/web/screens/Thread/ThreadCenterPanel/ChatBody/OnboardingScreen/index.tsx
@@ -52,7 +52,7 @@ type Props = {
isShowStarterScreen?: boolean
}
-const OnDeviceStarterScreen = ({ isShowStarterScreen }: Props) => {
+function OnboardingScreen({ isShowStarterScreen }: Props) {
const [searchValue, setSearchValue] = useState('')
const [isOpen, setIsOpen] = useState(Boolean(searchValue.length))
const downloadingModels = useAtomValue(getDownloadingModelAtom)
@@ -62,7 +62,6 @@ const OnDeviceStarterScreen = ({ isShowStarterScreen }: Props) => {
const { engines } = useGetEngines()
const showScrollBar = useAtomValue(showScrollBarAtom)
- const configuredModels = useAtomValue(configuredModelsAtom)
const { sources } = useGetModelSources()
const setMainViewState = useSetAtom(mainViewStateAtom)
@@ -78,16 +77,6 @@ const OnDeviceStarterScreen = ({ isShowStarterScreen }: Props) => {
[sources, searchValue]
)
- const remoteModel = configuredModels.filter(
- (x) => !isLocalEngine(engines, x.engine)
- )
-
- const remoteModelEngine = remoteModel.map((x) => x.engine)
-
- const groupByEngine = remoteModelEngine.filter(function (item, index) {
- if (remoteModelEngine.indexOf(item) === index) return item
- })
-
const itemsPerRow = 5
const getRows = (array: string[], itemsPerRow: number) => {
@@ -98,8 +87,10 @@ const OnDeviceStarterScreen = ({ isShowStarterScreen }: Props) => {
return rows
}
- const rows = getRows(
- groupByEngine.sort((a, b) => a.localeCompare(b)),
+ const cloudProviders = getRows(
+ Object.keys(engines ?? {})
+ .filter((e) => engines?.[e as InferenceEngine]?.[0]?.type === 'remote')
+ .sort((a, b) => a.localeCompare(b)),
itemsPerRow
)
@@ -297,57 +288,51 @@ const OnDeviceStarterScreen = ({ isShowStarterScreen }: Props) => {
- {rows.slice(0, visibleRows).map((row, rowIndex) => {
+ {cloudProviders.slice(0, visibleRows).map((row, rowIndex) => {
return (
- {row
- .filter(
- (e) =>
- engines?.[e as InferenceEngine]?.[0]?.type ===
- 'remote'
+ {row.map((remoteEngine) => {
+ const engineLogo = getLogoEngine(
+ remoteEngine as InferenceEngine
)
- .map((remoteEngine) => {
- const engineLogo = getLogoEngine(
- remoteEngine as InferenceEngine
- )
- return (
-
{
- setMainViewState(MainViewState.Settings)
- setSelectedSetting(
- remoteEngine as InferenceEngine
- )
- }}
- >
- {engineLogo && (
-
+ return (
+
{
+ setMainViewState(MainViewState.Settings)
+ setSelectedSetting(
+ remoteEngine as InferenceEngine
+ )
+ }}
+ >
+ {engineLogo && (
+
+ )}
+
+
+ {getTitleByEngine(
+ remoteEngine as InferenceEngine
)}
-
-
- {getTitleByEngine(
- remoteEngine as InferenceEngine
- )}
-
-
- )
- })}
+
+
+ )
+ })}
)
})}
- {visibleRows < rows.length && (
+ {visibleRows < cloudProviders.length && (