Skip to content

Commit d189fab

Browse files
committed
Fix repository save during running tasks
1 parent 59790e2 commit d189fab

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

hooks/useRepositoryManager.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
import { useState, useCallback, useRef } from 'react';
2+
import { useState, useCallback, useRef, useEffect } from 'react';
33
import type { Repository, LogEntry, Task, GlobalSettings, TaskStep, GitRepository } from '../types';
44
import { RepoStatus, BuildHealth, LogLevel, TaskStepType, VcsType } from '../types';
55

@@ -37,6 +37,11 @@ export const useRepositoryManager = ({ repositories, updateRepository }: { repos
3737
const [logs, setLogs] = useState<Record<string, LogEntry[]>>({});
3838
const [isProcessing, setIsProcessing] = useState<Set<string>>(new Set());
3939
const activeExecutionsRef = useRef<Map<string, { stepExecutionId: string | null }>>(new Map());
40+
const repositoriesRef = useRef<Repository[]>(repositories);
41+
42+
useEffect(() => {
43+
repositoriesRef.current = repositories;
44+
}, [repositories]);
4045

4146
const addLogEntry = useCallback((repoId: string, message: string, level: LogLevel) => {
4247
const newEntry: LogEntry = {
@@ -51,7 +56,7 @@ export const useRepositoryManager = ({ repositories, updateRepository }: { repos
5156
}, []);
5257

5358
const updateRepoStatus = useCallback((repoId: string, status: RepoStatus, buildHealth?: BuildHealth) => {
54-
const repoToUpdate = repositories.find(r => r.id === repoId);
59+
const repoToUpdate = repositoriesRef.current.find(r => r.id === repoId);
5560
if (repoToUpdate) {
5661
updateRepository({
5762
...repoToUpdate,
@@ -60,7 +65,7 @@ export const useRepositoryManager = ({ repositories, updateRepository }: { repos
6065
...(buildHealth && { buildHealth }),
6166
});
6267
}
63-
}, [repositories, updateRepository]);
68+
}, [updateRepository]);
6469

6570
const runTask = useCallback(async (
6671
repo: Repository,

0 commit comments

Comments
 (0)