yang991178/fluent-reader-lite
40.9
Weak · 19 September 2026
6.4k
lines of production code
Dart
primary language
1
measurement over time
What this system is
Fluent Reader is a cross-platform RSS reader application built with Flutter that supports synchronization with multiple services, including Feedbin, Inoreader, Google Reader API, Fever, and Miniflux. The system provides a customizable reading experience with features such as deep linking for content import, local asset serving, and extensive localization across numerous languages. It also includes privacy enhancements like referrer stripping and UI refinements such as text scaling and uncategorized feed grouping.
Features
Add Feedbin, Inoreader, and Google Reader API service support with URI-based import
Users can now connect to Feedbin, Inoreader, and Google Reader API-compatible services (such as The Old Reader and Bazqux) via new settings pages. These services support configuration via URI schemes, allowing users to import service credentials directly through a link (e.g., from a desktop app or email). The Fever service settings have also been updated to support API key authentication in addition to username/password, and the app now handles service import URIs on the home page to streamline setup.
lib/pages · high confidence
Added Feedbin and Google Reader API support with Fever API compatibility fixes
Users can now sync RSS feeds using Feedbin and the Google Reader API (including Inoreader and The Old Reader) in addition to the existing Fever and Miniflux services. The update also improves Fever API compatibility by handling null values, migrating to null-safe types, and fixing ID parsing issues to ensure stable synchronization.
lib/models/services · high confidence
Expanded localization support with new languages and UI strings
The app now supports additional languages including German, Spanish, French, Croatian, Portuguese, Russian, Turkish, and Ukrainian, alongside updates to existing English and Chinese translations. New UI strings have been added to cover features such as uncategorized feed filtering, API key management, error logging, and in-app browser settings, ensuring these elements are properly localized for all supported languages.
lib/l10n · high confidence
Behavioural changes
Android app branding, deep linking, and build infrastructure updates
The Android application now displays a branded splash screen with the app logo in both light and dark modes, and the launcher icon has been updated to use adaptive icons with a white background. A new URI scheme (fluent-reader://import) has been added to the AndroidManifest, allowing the app to receive content via deep links. The app label is now set to "Fluent Reader" and the UI theme has been updated to use Material Components. Additionally, the Gradle wrapper has been upgraded from version 5.6.2 to 8.14.3, and ProGuard rules have been added to preserve Flutter editing plugins.
android · high confidence
Article view styling and privacy updates
Headings and article titles now use a heavier font weight (800) for improved visual hierarchy, and code blocks within articles wrap long lines to prevent horizontal scrolling. Additionally, the article view now sends no referrer information to external links to enhance user privacy.
assets · high confidence
Expanded service support, localization, and UI refinements
The app now supports configuring Feedbin, Inoreader, and Google Reader API sync services, which are accessible via new settings pages and integrated into the service selection logic. A broader set of locales is now supported, including German, Spanish, French, Ukrainian, Croatian, Portuguese, Turkish, and Russian, alongside the existing English and Chinese options. The user interface has been refined by hiding the debug banner, adding a dedicated error log page, and introducing a customizable text scale feature that allows users to adjust font sizing. Additionally, the app now restarts its local server upon resuming if a server is active, and the home page is wrapped to ensure consistent theming with modal sheets.
lib · high confidence
Migrate components to null safety and update share library
The UI components in lib/components have been migrated to Dart null safety, introducing nullable types for optional parameters (such as RSSSource, icons, and callbacks) and adding null-aware operators throughout the codebase. Additionally, the share functionality has been updated to use the share\_plus package instead of the deprecated share package, and the Cupertino toolbar now adapts its height for tablet devices.
lib/components · high confidence
Migrate to null safety and enable Feedbin/GReader sync
The application has been migrated to Dart null safety, making global state variables and database references nullable to prevent runtime crashes. This change also implements previously stubbed-out sync services for Feedbin and Google Reader (GReader), allowing users to sync with these providers. Additionally, the app now starts a local Jaguar HTTP server on port 9000 to serve Flutter assets, and introduces new user preferences for handling uncategorized feeds, unread-only subscriptions, and in-app browsing.
lib/utils · high confidence
Migration to Dart null safety and introduction of uncategorized feed grouping
The model layer has been migrated to Dart null safety, making fields like \RSSFeed.sids\, \RSSItem.creator\, and \RSSSource.iconUrl\ nullable and updating all access points to handle null checks. This change also introduces an 'uncategorized' group feature in \GroupsModel\, allowing users to view feeds that are not assigned to any specific group, and adds a configurable text scale option in \GlobalModel\ for customizing UI sizing.
lib/models · high confidence
Settings UI enhancements and localization updates
The settings interface has been updated to support customizable text scaling, allowing users to override the system font size with a manual slider. The About page now includes clickable links to the project's website, GitHub repository, and issue tracker, and displays a 'Contact' header on Android to comply with store requirements. Feed settings have been reorganized into distinct 'Preferences' and 'Groups' sections, adding a toggle to show uncategorized feeds. General settings now feature a theme selector (Light/Dark/System), an in-app browser toggle, and a slider to adjust the auto-delete retention period. The source list is now sorted alphabetically, and the text editor supports custom input types, autocorrect toggles, and tap-to-fill suggestions.
lib/pages/settings · high confidence
iOS app modernization and deep linking support
The iOS app has been updated to support deep linking via the 'fluent-reader' URI scheme, allowing users to open the app from external links. The launch screen has been refreshed with new asset filenames and modernized storyboard settings, including system colors and updated device dimensions. Additionally, the app now supports multiple locales (German, Spanish, French, Croatian, Portuguese, Russian, Turkish, Ukrainian, and Simplified Chinese) for localized launch screens and main strings, and includes configuration for implicit Flutter engine initialization and scene management.
ios/Runner · high confidence
iOS app now supports multiple languages and requires iOS 13+
The app has been updated to support a wider range of languages, including German, Russian, Turkish, Spanish, French, Croatian, Portuguese (Brazil), and Simplified Chinese, with localized strings added for the launch screen and main interface. Additionally, the minimum supported iOS version has been raised from 8.0 to 13.0, and the Xcode project has been upgraded to version 15.1 to reflect this change and ensure compatibility with modern development tools.
ios/Runner.xcodeproj · high confidence
Dependencies
Major platform and dependency upgrade to Flutter 3.3+ and Android SDK 36
The application has been upgraded to support Dart SDK 3.3+ and Android compile SDK 36, requiring a minimum Android version of 24. This change includes a significant migration of dependencies: the legacy \uni\_links\ package is replaced by \app\_links\, and several other packages have been updated to their modern equivalents (e.g., \package\_info\ to \package\_info\_plus\, \share\ to \share\_plus\, \webview\_flutter\ to \webview\_flutter\_wkwebview\). The iOS deployment target is raised to 13.0, and the Android build system is migrated to the new Gradle plugin management DSL with Java 21 compatibility. Additionally, the app now integrates the \jaguar\ framework for serving resources.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 41.
Lenses
- Code Health 91
- Architecture 95
- Maturity 54
- Readiness 26
- Security 100
- Domain Modelling 100
- Accessibility 29
Changes since last survey
- 62 commits — 54 feature/other, 8 fixes
By area
- (root) — 15 commits
- lib/pages — 14 commits
- lib/l10n — 10 commits
- lib/models — 7 commits
- (repo) — 5 commits
- android/app — 4 commits
- ios/Runner — 4 commits
- .github/ISSUE_TEMPLATE — 1 commit
- ios/Runner.xcodeproj — 1 commit
- lib/main.dart — 1 commit
Notable commits
- fix: fix android 11 testfield error #1
- fix: fix app store connect warnings
- fix: fix cache clearing
- fix: fix fever api compatibility
- fix: fix google reader api null checks
- fix: fix load more for feeds
- fix: fix subscriptions list
- fix: fix tab bar localization update
- change: Add Croatian translation (#43)
- change: Add German translation.
- change: Add Ukrainian (ua) translation (#53)
- change: Add files via upload
- change: Added ptBR translation (#47)
- change: Create LICENSE
- change: Create intl_es.arb
- change: FreshRSS using Google Reader API
- change: Merge branch 'master' of https://github.com/mustafagenc/fluent-reader-lite into 1.0.4
- change: Merge pull request #108 from yang991178/1.0.4
- change: Merge pull request #12 from yang991178/1.0.1
- change: Merge pull request #68 from yang991178/1.0.3
- …and 42 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
yang991178/fluent-reader-lite was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 4e714fa8095363ee29212fe67a97cedc8e101ea8 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.