Remove redundant triggerRefresh calls causing race condition

- handleCommitSuccess/Revert/Undo no longer call triggerRefresh
- gitStateChange\$ observable already triggers refresh for these operations
- Redundant calls caused 2 concurrent loadGitLog, causing CI test failures
- Local tests passed because both completed; CI failed because 2nd never completed

This ensures only 1 loadGitLog runs per git operation.
This commit is contained in:
lin onetwo 2026-01-19 19:11:47 +08:00
parent 9c6d0358ed
commit 9933b742bb

View file

@ -220,26 +220,26 @@ export function useCommitSelection({
// Don't set shouldSelectFirst - let the maintain selection logic handle it
// The uncommitted changes will disappear and it will auto-select the new commit
void window.service.native.log('debug', '[test-id-commit-success-handler]', {});
// Manually trigger refresh as fallback when observable subscription doesn't work
triggerRefresh();
}, [triggerRefresh]);
// No need to manually trigger refresh - gitStateChange$ observable already handles it
// triggerRefresh(); // Removed: causes race condition with observable-triggered refresh
}, []);
const handleRevertSuccess = useCallback(() => {
// After revert, select the new revert commit (first non-uncommitted)
void window.service.native.log('debug', '[test-id-revert-success-handler]', {});
setLastChangeType('revert');
// Manually trigger refresh as fallback when observable subscription doesn't work
triggerRefresh();
}, [setLastChangeType, triggerRefresh]);
// No need to manually trigger refresh - gitStateChange$ observable already handles it
// triggerRefresh(); // Removed: causes race condition with observable-triggered refresh
}, [setLastChangeType]);
const handleUndoSuccess = useCallback(() => {
// After undo, we want to select uncommitted changes
// Set a special flag that will be handled by the effect above
// Using lastChangeType 'undo' will trigger the selection logic
setLastChangeType('undo');
// Manually trigger refresh as fallback when observable subscription doesn't work
triggerRefresh();
}, [setLastChangeType, triggerRefresh]);
// No need to manually trigger refresh - gitStateChange$ observable already handles it
// triggerRefresh(); // Removed: causes race condition with observable-triggered refresh
}, [setLastChangeType]);
const handleSearch = useCallback(
(parameters: ISearchParameters) => {