Phase-3 review finding (MEDIUM/perf). ReportStore eagerly does MutableStateFlow(scan()) in its constructor; scan() lists the debug_reports dir + reads + JSON-parses every file. It's an eager @Singleton dep of CrashReporter, whose install() runs on the main thread in Application.onCreate() — so every cold start does disk I/O + JSON parse on the main thread (StrictMode violation, ANR-adjacent, grows to the 30-day retention). Fix: make the initial scan lazy / on Dispatchers.IO (seed the flow empty, populate off-thread); install() only needs to write. Add a test.
Phase-3 review finding (MEDIUM/perf). `ReportStore` eagerly does `MutableStateFlow(scan())` in its constructor; `scan()` lists the debug_reports dir + reads + JSON-parses every file. It's an eager @Singleton dep of `CrashReporter`, whose `install()` runs on the **main thread** in `Application.onCreate()` — so every cold start does disk I/O + JSON parse on the main thread (StrictMode violation, ANR-adjacent, grows to the 30-day retention). **Fix:** make the initial scan lazy / on `Dispatchers.IO` (seed the flow empty, populate off-thread); `install()` only needs to write. Add a test.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Phase-3 review finding (MEDIUM/perf).
ReportStoreeagerly doesMutableStateFlow(scan())in its constructor;scan()lists the debug_reports dir + reads + JSON-parses every file. It's an eager @Singleton dep ofCrashReporter, whoseinstall()runs on the main thread inApplication.onCreate()— so every cold start does disk I/O + JSON parse on the main thread (StrictMode violation, ANR-adjacent, grows to the 30-day retention). Fix: make the initial scan lazy / onDispatchers.IO(seed the flow empty, populate off-thread);install()only needs to write. Add a test.