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})`
|
||||
)
|
||||
|
||||
// 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
|
||||
if (IS_WINDOWS) {
|
||||
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 { toast } from 'sonner'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { events } from '@janhq/core'
|
||||
import { predefinedProviders } from '@/consts/providers'
|
||||
import { useModelLoad } from '@/hooks/useModelLoad'
|
||||
import { useLlamacppDevices } from '@/hooks/useLlamacppDevices'
|
||||
@ -130,6 +131,19 @@ function ProviderDetail() {
|
||||
}
|
||||
}, [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
|
||||
useEffect(() => {
|
||||
if (
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user