Skip to content

Add content-based article filtering for feeds#5216

Open
renato-umeton wants to merge 2 commits intoRanchero-Software:mainfrom
renato-umeton:main
Open

Add content-based article filtering for feeds#5216
renato-umeton wants to merge 2 commits intoRanchero-Software:mainfrom
renato-umeton:main

Conversation

@renato-umeton
Copy link
Copy Markdown

@renato-umeton renato-umeton commented Mar 28, 2026

Summary

  • Add per-feed keyword filters that automatically mark matching articles as read on arrival
  • Filters support contains/does-not-contain matching against title, content, summary, and RSS category tags
  • Filter UI available in feed inspector (macOS + iOS) and the add-feed sheet (macOS)
  • Filters are persisted as JSON in the existing FeedSettings SQLite database with automatic schema migration
  • Fix build scripts to work without a paid developer certificate (CODE_SIGNING_ALLOWED=NO)

Test plan

  • Unit tests for ArticleFilter matching logic (ArticleFilterTests)
  • Verify filters can be added/edited/removed via feed inspector on macOS
  • Verify filters can be set when adding a new feed on macOS
  • Verify filters section appears in iOS feed inspector
  • Verify filtered articles are automatically marked as read on feed refresh
  • Verify existing feeds without filters are unaffected
  • Run ./buildscripts/build_and_test.sh -- all builds and tests pass

Build scripts failed for dev builds without a paid developer account
because extension targets have entitlements requiring real code signing.
Adding CODE_SIGNING_ALLOWED=NO bypasses this for local development.

CLAUDE.md updated with coding guidelines from Technotes/CodingGuidelines.md,
module dependency hierarchy, individual test execution commands, and
project-specific rules (no KVO, all classes final, main thread policy).
Allow users to define keyword filters per feed that automatically mark
matching articles as read on arrival. Filters support contains/does-not-contain
matching against title, content, summary, and RSS category tags.

- Add ArticleFilter model with JSON persistence in FeedSettingsDatabase
- Add SwiftUI ArticleFiltersView for managing filters (macOS and iOS)
- Apply filters during article ingestion in Account.update
- Add filter UI to feed inspector and add-feed sheet on macOS
- Add filter section to iOS feed inspector
- Include unit tests for filter matching logic
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