straw/strawApp
Cobb 96bad228ef
All checks were successful
build-apk / build-and-publish (push) Successful in 7m11s
gitleaks / scan (push) Successful in 43s
Fix ExoPlayer wrong-thread crash + recordSearch off Main (perf-audit pass-2) — vc=79
- PlaybackService: the pauseOnHeadphoneDisconnect settings-watcher collector
  ran on globalScope (Dispatchers.IO) and called setHandleAudioBecomingNoisy
  on the ExoPlayer, which is thread-affine to the Main thread it was built on
  → latent IllegalStateException('Player accessed on the wrong thread') that
  fires every service start (the StateFlow emits on first subscription). Run
  the collector on Dispatchers.Main (mirrors resumePollJob).
- SearchViewModel: recordSearch (json-encode + SharedPrefs write) was on Main;
  wrap in withContext(Dispatchers.IO).

Both adversarially verified in the multi-agent perf audit (pass 2).
2026-06-21 05:04:39 -07:00
..
src/main Fix ExoPlayer wrong-thread crash + recordSearch off Main (perf-audit pass-2) — vc=79 2026-06-21 05:04:39 -07:00
build.gradle.kts Strip NewPipe: remove legacy :app + unused :desktopApp/:shared modules 2026-06-20 07:19:33 -07:00
proguard-rules.pro vc=59 cont: wire bg subs refresh + R8 keep + Settings UI 2026-05-26 11:38:04 -07:00