mirror of
https://github.com/eigent-ai/eigent.git
synced 2026-05-22 11:15:47 +00:00
fix project list cacheing issue
This commit is contained in:
parent
048e960852
commit
99ba772ea2
2 changed files with 41 additions and 33 deletions
|
|
@ -292,7 +292,9 @@ const ToolSelect = forwardRef<
|
|||
(keyword?: string, opts?: { force?: boolean }) => {
|
||||
const u = email ?? null;
|
||||
const snap = toolSelectCatalogSnapshot;
|
||||
if (!opts?.force && snap && snap.email === u && snap.configInfo) {
|
||||
const hydratedFromCache =
|
||||
!opts?.force && snap && snap.email === u && snap.configInfo;
|
||||
if (hydratedFromCache) {
|
||||
setIntegrations(
|
||||
buildIntegrationsFromConfigInfo(
|
||||
snap.configInfo,
|
||||
|
|
@ -301,7 +303,6 @@ const ToolSelect = forwardRef<
|
|||
addOption
|
||||
)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
proxyFetchGet('/api/v1/config/info')
|
||||
|
|
@ -326,7 +327,7 @@ const ToolSelect = forwardRef<
|
|||
})
|
||||
.catch((error) => {
|
||||
console.error('Error fetching integrations:', error);
|
||||
setIntegrations([]);
|
||||
if (!hydratedFromCache) setIntegrations([]);
|
||||
});
|
||||
},
|
||||
[addOption, email, t]
|
||||
|
|
@ -336,9 +337,10 @@ const ToolSelect = forwardRef<
|
|||
(opts?: { force?: boolean }) => {
|
||||
const u = email ?? null;
|
||||
const snap = toolSelectCatalogSnapshot;
|
||||
if (!opts?.force && snap && snap.email === u && snap.hasUserMcps) {
|
||||
const hydratedFromCache =
|
||||
!opts?.force && snap && snap.email === u && snap.hasUserMcps;
|
||||
if (hydratedFromCache) {
|
||||
setUserMcpList(snap.userMcps);
|
||||
return;
|
||||
}
|
||||
|
||||
proxyFetchGet('/api/v1/mcp/users')
|
||||
|
|
@ -361,7 +363,7 @@ const ToolSelect = forwardRef<
|
|||
})
|
||||
.catch((error) => {
|
||||
console.error('Error fetching installed MCPs:', error);
|
||||
setUserMcpList([]);
|
||||
if (!hydratedFromCache) setUserMcpList([]);
|
||||
});
|
||||
},
|
||||
[email]
|
||||
|
|
|
|||
|
|
@ -126,33 +126,38 @@ export default function GroupedHistoryView({
|
|||
}
|
||||
}, [projects, email, triggerKey]);
|
||||
|
||||
const loadProjects = useCallback(async () => {
|
||||
setLoading(true);
|
||||
const u = email ?? null;
|
||||
try {
|
||||
const snapshotSetter: Dispatch<SetStateAction<ProjectGroupType[]>> = (
|
||||
action
|
||||
) => {
|
||||
setProjects((prev) => {
|
||||
const next =
|
||||
typeof action === 'function'
|
||||
? (action as (p: ProjectGroupType[]) => ProjectGroupType[])(prev)
|
||||
: action;
|
||||
groupedHistorySnapshot = {
|
||||
email: u,
|
||||
projects: next,
|
||||
triggerKey,
|
||||
};
|
||||
return next;
|
||||
});
|
||||
};
|
||||
await fetchGroupedHistoryTasks(snapshotSetter);
|
||||
} catch (error) {
|
||||
console.error('Failed to load grouped projects:', error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, [email, triggerKey]);
|
||||
const loadProjects = useCallback(
|
||||
async (opts?: { silent?: boolean }) => {
|
||||
if (!opts?.silent) setLoading(true);
|
||||
const u = email ?? null;
|
||||
try {
|
||||
const snapshotSetter: Dispatch<SetStateAction<ProjectGroupType[]>> = (
|
||||
action
|
||||
) => {
|
||||
setProjects((prev) => {
|
||||
const next =
|
||||
typeof action === 'function'
|
||||
? (action as (p: ProjectGroupType[]) => ProjectGroupType[])(
|
||||
prev
|
||||
)
|
||||
: action;
|
||||
groupedHistorySnapshot = {
|
||||
email: u,
|
||||
projects: next,
|
||||
triggerKey,
|
||||
};
|
||||
return next;
|
||||
});
|
||||
};
|
||||
await fetchGroupedHistoryTasks(snapshotSetter);
|
||||
} catch (error) {
|
||||
console.error('Failed to load grouped projects:', error);
|
||||
} finally {
|
||||
if (!opts?.silent) setLoading(false);
|
||||
}
|
||||
},
|
||||
[email, triggerKey]
|
||||
);
|
||||
|
||||
const onDelete = (historyId: string) => {
|
||||
try {
|
||||
|
|
@ -315,6 +320,7 @@ export default function GroupedHistoryView({
|
|||
if (snap && snap.email === u && snap.triggerKey === triggerKey) {
|
||||
setProjects(snap.projects);
|
||||
setLoading(false);
|
||||
void loadProjects({ silent: true });
|
||||
return;
|
||||
}
|
||||
void loadProjects();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue