fix: clear failed searches without racing subsequent requests

This commit is contained in:
tdurieux
2026-09-06 10:47:09 +02:00
parent a27f9f34d6
commit a6e17e18d9
4 changed files with 15 additions and 6 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"core.min.js": "core.6332b3c288.min.js",
"vendor.min.js": "vendor.9de44b9059.min.js",
"vendor.min.js": "vendor.8a52e2f74f.min.js",
"mermaid.min.js": "mermaid.f848a72d16.min.js",
"all.min.css": "all.99ce8f3e14.min.css"
}
+6 -4
View File
@@ -2614,11 +2614,13 @@ angular
return;
}
$scope.fileSearchLoading = true;
searchCanceller = $q.defer();
const requestCanceller = $q.defer();
searchCanceller = requestCanceller;
$http.get(
`/api/repo/${$scope.repoId}/files/search?q=${encodeURIComponent(query)}`,
{ timeout: searchCanceller.promise }
{ timeout: requestCanceller.promise }
).then(function (res) {
if (destroyed || searchCanceller !== requestCanceller) return;
searchCanceller = null;
$scope.fileSearchLoading = false;
// Merge search results into $scope.files so the tree can render them.
@@ -2668,8 +2670,8 @@ angular
}
$scope.fileSearchResults = res.data;
}, function () {
// Only clear loading if this wasn't a cancellation
if (!searchCanceller) {
if (!destroyed && searchCanceller === requestCanceller) {
searchCanceller = null;
$scope.fileSearchLoading = false;
$scope.fileSearchResults = [];
}
+1 -1
View File
File diff suppressed because one or more lines are too long