fix: Frontend updates when llama.cpp backend auto-downloads (#5926)
This commit is contained in:
parent
2e870ad4d0
commit
8ec4a36826
@ -615,6 +615,17 @@ export default class llamacpp_extension extends AIEngine {
|
|||||||
`Successfully updated to backend: ${targetBackendString} (preserved backend type: ${currentBackend})`
|
`Successfully updated to backend: ${targetBackendString} (preserved backend type: ${currentBackend})`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Emit for updating fe
|
||||||
|
if (events && typeof events.emit === 'function') {
|
||||||
|
logger.info(
|
||||||
|
`Emitting settingsChanged event for version_backend with value: ${targetBackendString}`
|
||||||
|
)
|
||||||
|
events.emit('settingsChanged', {
|
||||||
|
key: 'version_backend',
|
||||||
|
value: targetBackendString,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// Clean up old versions of the same backend type
|
// Clean up old versions of the same backend type
|
||||||
if (IS_WINDOWS) {
|
if (IS_WINDOWS) {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 500))
|
await new Promise((resolve) => setTimeout(resolve, 500))
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import { IconFolderPlus, IconLoader, IconRefresh } from '@tabler/icons-react'
|
|||||||
import { getProviders } from '@/services/providers'
|
import { getProviders } from '@/services/providers'
|
||||||
import { toast } from 'sonner'
|
import { toast } from 'sonner'
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
|
import { events } from '@janhq/core'
|
||||||
import { predefinedProviders } from '@/consts/providers'
|
import { predefinedProviders } from '@/consts/providers'
|
||||||
import { useModelLoad } from '@/hooks/useModelLoad'
|
import { useModelLoad } from '@/hooks/useModelLoad'
|
||||||
import { useLlamacppDevices } from '@/hooks/useLlamacppDevices'
|
import { useLlamacppDevices } from '@/hooks/useLlamacppDevices'
|
||||||
@ -130,6 +131,19 @@ function ProviderDetail() {
|
|||||||
}
|
}
|
||||||
}, [provider, needsBackendConfig])
|
}, [provider, needsBackendConfig])
|
||||||
|
|
||||||
|
// Listen for settingsChanged event and refresh backend list if version_backend changes
|
||||||
|
useEffect(() => {
|
||||||
|
const handler = (event: { key: string; value: string }) => {
|
||||||
|
if (event.key === 'version_backend') {
|
||||||
|
refreshSettings()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
events.on('settingsChanged', handler)
|
||||||
|
return () => {
|
||||||
|
events.off('settingsChanged', handler)
|
||||||
|
}
|
||||||
|
}, [provider])
|
||||||
|
|
||||||
// Auto-refresh models for non-predefined providers
|
// Auto-refresh models for non-predefined providers
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (
|
if (
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user