perf: race GitHub proxies concurrently for driver downloads and registry fetch

Replace sequential proxy fallback (up to 30s worst-case) with concurrent
racing via futures::select_ok, returning the first successful response.
Add list_installed_agents_local command for instant UI rendering with
async registry update. Fix missing useToast import in RedisValueViewer.
This commit is contained in:
t8y2 committed 2026-05-13 14:18:28 +08:00
1 parent 321ebc2636
commit fa0dfc9383
7 files changed
+121 -128

No files matched your search

+11 -1
View File
@@ -238,7 +238,17 @@ async function deleteJdbcDriver(path: string) {
// ──────────── Lifecycle ────────────
onMounted(async () => {
await refreshAgents();
const [jre, localDrivers] = await Promise.all([
invoke<boolean>("check_jre_installed"),
invoke<AgentDriverInfo[]>("list_installed_agents_local"),
]);
jreInstalled.value = jre;
drivers.value = localDrivers;
invoke<AgentDriverInfo[]>("list_installed_agents").then((result) => {
drivers.value = result;
});
unlisten = await listen<InstallProgress>("agent-install-progress", (event) => {
if (event.payload.step === "done") {
progress.value = null;