rrdhoi/chatqu
42.4
Weak · 21 September 2026
5.6k
lines of production code
Dart
primary language
4
measurements over time
What this system is
This system is a mobile or web application that integrates Firebase Crashlytics for automated error tracking and stability monitoring. It includes a chat feature with a remote data source that ensures consistent query behavior by sorting member IDs. The codebase has been updated to modernize dependencies and remove deprecated configuration files.
Features
Added Firebase Crashlytics integration and updated Firebase Core
The project now includes Firebase Crashlytics (version 3.0.15) for error tracking, alongside an update to Firebase Core (2.1.1 → 2.7.0) and Firebase Core Web (2.0.1 → 2.2.1). These changes are reflected in the generated plugin configuration files (.flutter-plugins, .flutter-plugins-dependencies) and the removal of the deprecated .packages file. The README.md was also updated to document the new Crashlytics integration and other technologies.
(repo-wide) · high confidence
Added Firebase Crashlytics integration for error tracking
The application now integrates Firebase Crashlytics to automatically track and report errors. This is achieved by generating Firebase configuration and plugin registrant files, and by wrapping the app initialization in a zone that routes fatal errors to Crashlytics. Users will benefit from improved stability as critical errors are now monitored and reported.
lib · high confidence
Enable Firebase Crashlytics for error tracking
The presentation layer now exports Firebase Crashlytics alongside the existing Firebase Core integration, enabling the application to track and report errors and crashes. This change adds the necessary Dart exports in the presentation library to support error tracking functionality.
lib/presentation · high confidence
Behavioural changes
Fix chat member ID ordering for consistent queries
The chat remote data source now ensures that the list of member IDs is sorted before being used in Firestore queries and model construction. Previously, the order of user IDs in the 'memberIds' list could vary, potentially causing query mismatches or inconsistent data mapping. By applying \.sort()\ to the member IDs list, the system guarantees a deterministic order, resolving issues where chat lookups might fail due to unordered ID arrays.
lib/data · medium 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
Score
- CAI 53 → 42 (-10.9)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 98 (-2.3)
- Architecture 100 → 91 (-9.0)
- Maturity 57 → 61 (+4.5)
- Readiness 24 → 0 (-24.3)
- Security 95 → 98 (+3.9)
- Domain Modelling 100 → 100 (+0.0)
Resolved (12)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (pubspec.lock)
- No exposed public API
- Rotate the exposed credentials — git history can't be un-committed
- Secret: generic-api-key (android/app/google-services.json)
- Test reliability not included
- The Installation section only mentions searching for 'Chatqu' on app stores and a clipped link to Google Play, with no step-by-step installation or dependency setup instructions. (README.md)
- complexity unreadable for .dart — churn × complexity hotspots could not be measured
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- single-maintainer — knowledge-concentration (bus factor) risk
New (20)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Duplicated block (10 lines × 2) (lib/presentation/pages/chat/group_chat_page.dart)
- Duplicated block (14 lines × 2) (lib/data/datasource/chat/chat_remote_data_source_impl.dart)
- Duplicated block (15–16 lines × 2) (lib/presentation/pages/chat/group_chat_page.dart)
- Duplicated block (16 lines × 2) (lib/presentation/widgets/chat_bubble.dart)
- Duplicated block (17 lines × 2) (lib/presentation/pages/auth/login_page.dart)
- Duplicated block (19 lines × 2) (lib/presentation/pages/chat/group_chat_page.dart)
- Duplicated block (19–21 lines × 2) (lib/data/datasource/friend/friend_remote_data_source_impl.dart)
- Duplicated block (21 lines × 2) (lib/presentation/pages/auth/add_image_profile_page.dart)
- Duplicated block (37 lines × 2) (lib/presentation/pages/auth/login_page.dart)
- Duplicated block (40 lines × 2) (lib/presentation/pages/chat/group_chat_page.dart)
- Duplicated block (6 lines × 2) (lib/data/datasource/friend/friend_remote_data_source_impl.dart)
- Duplicated block (6 lines × 2) (lib/data/models/chat_model.dart)
- Duplicated block (7 lines × 2) (lib/data/models/chat_model.dart)
- Duplicated block (9 lines × 2) (lib/presentation/pages/chat/group_chat_page.dart)
- High CVE: [GHSA redacted] (pubspec.lock)
- Leaked secret: gcp-api-key (lib/firebase_options.dart)
- Leaked secret: high-entropy-secret (lib/firebase_options.dart)
- MethodTooLong: ChatBubble.build (lib/presentation/widgets/chat_bubble.dart)
- No ADRs found
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
rrdhoi/chatqu 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 21 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 fc60f0b4e2172239fcf7989a656fc18bab19508f — 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-fa71c66cabd8.