fix(web): invalidate plugin checkInstalled cache after version updates

This commit is contained in:
yyh
2026-03-04 22:33:17 +08:00
parent 0f7ed6f67e
commit 22a4100dd7
3 changed files with 59 additions and 7 deletions

View File

@ -47,6 +47,7 @@ import { useInvalidateAllBuiltInTools } from './use-tools'
const NAME_SPACE = 'plugins'
const useInstalledPluginListKey = [NAME_SPACE, 'installedPluginList']
const useCheckInstalledKey = [NAME_SPACE, 'checkInstalled'] as const
export const useCheckInstalled = ({
pluginIds,
enabled,
@ -55,7 +56,7 @@ export const useCheckInstalled = ({
enabled: boolean
}) => {
return useQuery<{ plugins: PluginDetail[] }>({
queryKey: [NAME_SPACE, 'checkInstalled', pluginIds],
queryKey: [...useCheckInstalledKey, pluginIds],
queryFn: () => post<{ plugins: PluginDetail[] }>('/workspaces/current/plugin/list/installations/ids', {
body: {
plugin_ids: pluginIds,
@ -66,6 +67,17 @@ export const useCheckInstalled = ({
})
}
export const useInvalidateCheckInstalled = () => {
const queryClient = useQueryClient()
return () => {
queryClient.invalidateQueries(
{
queryKey: useCheckInstalledKey,
},
)
}
}
const useRecommendedMarketplacePluginsKey = [NAME_SPACE, 'recommendedMarketplacePlugins']
export const useRecommendedMarketplacePlugins = ({
collection = '__recommended-plugins-tools',