fix: models hub should show latest data only (#5925)
* fix: models hub should show latest data only * test: correct expected result
This commit is contained in:
parent
4d4cf896af
commit
0c53ad0e16
@ -98,7 +98,7 @@ describe('useModelSources', () => {
|
||||
expect(result.current.sources).toEqual([])
|
||||
})
|
||||
|
||||
it('should merge new sources with existing ones', async () => {
|
||||
it('should not merge new sources with existing ones', async () => {
|
||||
const existingSources: CatalogModel[] = [
|
||||
{
|
||||
model_name: 'existing-model',
|
||||
@ -132,7 +132,7 @@ describe('useModelSources', () => {
|
||||
await result.current.fetchSources()
|
||||
})
|
||||
|
||||
expect(result.current.sources).toEqual([...newSources, ...existingSources])
|
||||
expect(result.current.sources).toEqual(newSources)
|
||||
})
|
||||
|
||||
it('should not duplicate models with same model_name', async () => {
|
||||
@ -175,15 +175,7 @@ describe('useModelSources', () => {
|
||||
await result.current.fetchSources()
|
||||
})
|
||||
|
||||
expect(result.current.sources).toEqual([
|
||||
...newSources,
|
||||
{
|
||||
model_name: 'unique-model',
|
||||
provider: 'provider',
|
||||
description: 'Unique model',
|
||||
version: '1.0.0',
|
||||
},
|
||||
])
|
||||
expect(result.current.sources).toEqual(newSources)
|
||||
})
|
||||
|
||||
it('should handle empty sources response', async () => {
|
||||
@ -475,7 +467,7 @@ describe('useModelSources', () => {
|
||||
await result.current.fetchSources()
|
||||
})
|
||||
|
||||
expect(result.current.sources).toEqual([...sources2, ...sources1])
|
||||
expect(result.current.sources).toEqual(sources2)
|
||||
})
|
||||
|
||||
it('should handle fetch after error', async () => {
|
||||
|
||||
@ -31,15 +31,9 @@ export const useModelSources = create<ModelSourcesState>()(
|
||||
set({ loading: true, error: null })
|
||||
try {
|
||||
const newSources = await fetchModelCatalog()
|
||||
const currentSources = get().sources
|
||||
|
||||
set({
|
||||
sources: [
|
||||
...newSources,
|
||||
...currentSources.filter(
|
||||
(e) => !newSources.some((s) => s.model_name === e.model_name)
|
||||
),
|
||||
],
|
||||
sources: newSources.length ? newSources : get().sources,
|
||||
loading: false,
|
||||
})
|
||||
} catch (error) {
|
||||
|
||||
@ -145,9 +145,13 @@ function Hub() {
|
||||
const repoInfo = await fetchHuggingFaceRepo(search.repo)
|
||||
if (repoInfo) {
|
||||
const catalogModel = convertHfRepoToCatalogModel(repoInfo)
|
||||
if (
|
||||
!sources.some((s) => s.model_name === catalogModel.model_name)
|
||||
) {
|
||||
setHuggingFaceRepo(catalogModel)
|
||||
addSource(catalogModel)
|
||||
}
|
||||
}
|
||||
|
||||
await fetchSources()
|
||||
} catch (error) {
|
||||
@ -157,7 +161,7 @@ function Hub() {
|
||||
}
|
||||
}, 500)
|
||||
}
|
||||
}, [convertHfRepoToCatalogModel, fetchSources, addSource, search])
|
||||
}, [convertHfRepoToCatalogModel, fetchSources, addSource, search, sources])
|
||||
|
||||
// Sorting functionality
|
||||
const sortedModels = useMemo(() => {
|
||||
@ -247,9 +251,13 @@ function Hub() {
|
||||
const repoInfo = await fetchHuggingFaceRepo(e.target.value)
|
||||
if (repoInfo) {
|
||||
const catalogModel = convertHfRepoToCatalogModel(repoInfo)
|
||||
if (
|
||||
!sources.some((s) => s.model_name === catalogModel.model_name)
|
||||
) {
|
||||
setHuggingFaceRepo(catalogModel)
|
||||
addSource(catalogModel)
|
||||
}
|
||||
}
|
||||
|
||||
// Original addSource logic (if needed)
|
||||
await fetchSources()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user