fix(cli): refresh runtime detection accurately (#7552)

Co-authored-by: nguyenha935 <208228297+nguyenha935@users.noreply.github.com>
This commit is contained in:
nguyenha935
2026-07-19 01:14:23 +07:00
committed by GitHub
parent a7dba3bbcc
commit a7d08a43c3
9 changed files with 135 additions and 45 deletions

View File

@@ -15,11 +15,12 @@ export function useToolBatchStatuses(): UseToolBatchStatusesResult {
const [loading, setLoading] = useState<boolean>(true);
const [error, setError] = useState<string | null>(null);
const fetchStatuses = useCallback(async () => {
const fetchStatuses = useCallback(async (forceRefresh = false) => {
setLoading(true);
setError(null);
try {
const res = await fetch("/api/cli-tools/all-statuses");
const url = `/api/cli-tools/all-statuses${forceRefresh ? "?refresh=true" : ""}`;
const res = await fetch(url);
if (!res.ok) {
const text = await res.text().catch(() => String(res.status));
setError(`HTTP ${res.status}: ${text.slice(0, 200)}`);
@@ -37,6 +38,10 @@ export function useToolBatchStatuses(): UseToolBatchStatusesResult {
}
}, []);
const refetch = useCallback(() => {
void fetchStatuses(true);
}, [fetchStatuses]);
useEffect(() => {
void fetchStatuses();
@@ -50,5 +55,5 @@ export function useToolBatchStatuses(): UseToolBatchStatusesResult {
};
}, [fetchStatuses]);
return { statuses, loading, error, refetch: fetchStatuses };
return { statuses, loading, error, refetch };
}