Merge remote-tracking branch 'origin/main' into feature/v0.13.0rc-1768936017583-e6ni

# Conflicts:
#	apps/ui/src/components/views/board-view.tsx
This commit is contained in:
Shirone
2026-01-21 08:47:16 +01:00
68 changed files with 4703 additions and 1248 deletions

View File

@@ -636,11 +636,7 @@ export function BoardView() {
const result = await api.features.bulkUpdate(currentProject.path, featureIds, finalUpdates);
if (result.success) {
// Update local Zustand state
featureIds.forEach((featureId) => {
updateFeature(featureId, finalUpdates);
});
// Invalidate React Query cache to ensure features are refetched with updated data
// Invalidate React Query cache to refetch features with server-updated values
loadFeatures();
toast.success(`Updated ${result.updatedCount} features`);
exitSelectionMode();
@@ -657,13 +653,12 @@ export function BoardView() {
[
currentProject,
selectedFeatureIds,
updateFeature,
loadFeatures,
exitSelectionMode,
getPrimaryWorktreeBranch,
addAndSelectWorktree,
currentWorktreeBranch,
setWorktreeRefreshKey,
loadFeatures,
]
);
@@ -786,10 +781,8 @@ export function BoardView() {
const result = await api.features.bulkUpdate(currentProject.path, featureIds, updates);
if (result.success) {
// Update local state for all features
featureIds.forEach((featureId) => {
updateFeature(featureId, updates);
});
// Invalidate React Query cache to refetch features with server-updated values
loadFeatures();
toast.success(`Verified ${result.updatedCount} features`);
exitSelectionMode();
} else {
@@ -801,7 +794,7 @@ export function BoardView() {
logger.error('Bulk verify failed:', error);
toast.error('Failed to verify features');
}
}, [currentProject, selectedFeatureIds, updateFeature, exitSelectionMode]);
}, [currentProject, selectedFeatureIds, loadFeatures, exitSelectionMode]);
// Handler for addressing PR comments - creates a feature and starts it automatically
const handleAddressPRComments = useCallback(