Skip to content

feat(feeds): add batch delete all feeds in folder functionality#128

Merged
lcomplete merged 1 commit intomainfrom
dev
Mar 28, 2026
Merged

feat(feeds): add batch delete all feeds in folder functionality#128
lcomplete merged 1 commit intomainfrom
dev

Conversation

@lcomplete
Copy link
Copy Markdown
Owner

Summary

  • Add a Delete All Feeds in Folder button in the FeedsSetting UI, shown when a folder with feeds is selected, with a confirmation dialog before executing
  • Fix the backend fillFolderConnectors to include persisted folders even when they have no connector items, and update the frontend navigation to correctly render empty folders
  • Localize DeleteConfirmDialog cancel/delete button labels via i18n, and add new i18n keys for batch delete success, partial success, and failure messages in both en and zh-CN locales

Changes

  • FeedsSetting.tsx: batch-delete logic using Promise.allSettled, snackbar feedback for all outcomes
  • PrimaryNavigation.tsx: refactored folder-connector loop to show folders regardless of whether they have feeds
  • ConnectorService.java: fillFolderConnectors now includes persisted folders with empty connector lists
  • DeleteConfirmDialog.tsx: uses t('common:cancel') / t('common:delete') instead of hardcoded strings
  • settings.json (en/zh-CN): added deleteFolderFeeds, deleteFolderFeedsConfirmDesc, folderFeedsDeleted, folderFeedsPartiallyDeleted, folderFeedsDeleteFailed keys

- Add 'Delete All Feeds in Folder' button in FeedsSetting with confirmation dialog
- Fix navigation to show empty folders (persist folders even without feeds)
- Localize DeleteConfirmDialog cancel/delete buttons via i18n
- Add i18n keys for batch delete success/partial/failure messages
- Fix fillFolderConnectors to include persisted folders with no connectors
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 28, 2026

🤖 Augment PR Summary

Summary: Adds a “Delete All Feeds in Folder” action to the feeds settings UI and improves folder rendering when folders are empty.

Changes:

  • Introduced batch feed deletion for a selected folder with confirmation and snackbar feedback for success/partial/failure outcomes.
  • Updated mobile feeds navigation to render folders even when they have zero connector items.
  • Adjusted backend folder-connector view generation to include persisted folders even when they have no connectors.
  • Localized DeleteConfirmDialog cancel/delete button labels via i18n.
  • Added new i18n strings (en + zh-CN) for the new delete-all-feeds-in-folder flow.

Technical Notes: Batch deletion uses Promise.allSettled to aggregate per-feed outcomes; backend now emits empty connector lists for persisted folders.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

});
}
} finally {
await Promise.all([refetchConnectors(), refetchFolders()]);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

await Promise.all([refetchConnectors(), refetchFolders()]) can throw if either refetch fails, which would skip setDeletingFolderFeeds(false) and potentially leave the UI stuck in a deleting/disabled state. Consider handling refetch failures so the deleting flag is always cleared.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@lcomplete lcomplete merged commit 67216d8 into main Mar 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant