How yang991178/fluent-reader works
Fluent Reader is an Electron desktop RSS reader. Its main workflow is to configure local or remote feeds, fetch and synchronize articles, persist them, then search, organize, and read them through several UI layouts. The README also documents OPML and full-data backup/restore, automatic filtering rules, background fetching, and notifications; these are represented at the closest supported source paths. Source excerpts are limited, so uncertain internal call wiring is omitted.
Main entry points: root.tsx Reader shell · index.tsx App bootstrap · service.ts Sync orchestration · item.ts Article models
Components 25
Desktop shell
- Electron lifecycle
src/electron.ts - Preload bridges
src/preload.ts - Window management
src/main/window.ts - Desktop settings
src/main/settings.ts - Background updates
src/main/update-scripts.ts
Reader interface
- App bootstrap
src/index.tsx - Reader shell
src/components/root.tsx - Navigation and menus
src/components/nav.tsx - Feed and card views
src/components/feeds/feed.tsx - Article reading
src/components/article.tsx - Article search
src/components/utils/article-search.tsx - Settings UI
src/components/settings.tsx - Service setup
src/components/settings/service.tsx
Feed and article domain
- App preferences
src/scripts/models/app.ts - Feed and source models
src/scripts/models/feed.ts - Article models
src/scripts/models/item.ts - Subscription groups
src/scripts/models/group.ts - Automatic rules
src/scripts/models/rule.ts - Reading and filtering
src/scripts/models/page.ts
State and persistence
- Redux state
src/scripts/reducer.ts - Article database
src/scripts/db.ts
Sync integrations
- Sync orchestration
src/scripts/models/service.ts - Service adapters
src/scripts/models/services - RSS and sync services
Other components
- Reader user
Connections 32
- Reader user → App bootstrap: opens app
- App bootstrap → Reader shell: renders
- App bootstrap → Redux state: initializes
- Reader shell → Redux state: selects state
- Reader shell → Navigation and menus: renders
- Reader shell → Feed and card views: renders
- Reader shell → Article reading: renders
- Reader shell → Article search: renders
- Reader shell → Settings UI: renders
- Settings UI → Service setup: opens setup
- Service setup → Sync orchestration: dispatches actions
- Article search → Reading and filtering: dispatches search
- Navigation and menus → Reading and filtering: dispatches view actions
- Feed and card views → Article models: dispatches article actions
- Article reading → Reading and filtering: requests article view
- App bootstrap → App preferences: dispatches initialization
- App preferences → Redux state: updates state
- Feed and source models → Article database: reads and writes
- Article models → Article database: reads and writes
- Subscription groups → Article database: persists subscriptions
- Automatic rules → Article database: persists rules
- Reading and filtering → Redux state: updates reading state
- Sync orchestration → Service adapters: selects adapter
- Service adapters → RSS and sync services: syncs with
- Sync orchestration → Feed and source models: dispatches sync data
- Sync orchestration → Article models: dispatches sync data
- Background updates → Feed and source models: fetches feeds
- Background updates → Article models: updates articles
- Electron lifecycle → Window management: manages window
- Electron lifecycle → Desktop settings: registers settings
- Preload bridges → Desktop settings: bridges settings IPC
- Desktop settings → Preload bridges: serves settings IPC