straw/strawApp
Kayos 90930ade11 Path C-5: channel + sub feed + moreFromChannel swap to strawcore
Three ViewModels move from NewPipeExtractor (Java) to strawcore (rustypipe):

- ChannelViewModel.load — ChannelInfo.getInfo + ChannelTabInfo.getInfo
  collapse into one uniffi.strawcore.channelInfo() round-trip.

- SubscriptionFeedViewModel.refresh — per-channel parallel fan-out now
  fires uniffi.strawcore.channelInfo() per sub instead of two NPE round-
  trips. Halves the network work for the home sub-feed. Semaphore +
  timeout + cancel-on-respawn audit guards preserved.

- VideoDetailViewModel.moreFromChannel — was the last NPE call site in
  the load() path. Now strawcore.channelInfo(uploaderUrl).videos filtered
  + mapped. The unused withContext(Dispatchers.IO) wrapper for the
  channel fetch is gone (strawcore is suspend on tokio).

NewPipeExtractor is now reachable only from non-ViewModel code:
NewPipeDownloader.kt (OkHttp adapter), StrawApp.NewPipe.init(),
util/Thumbnails.kt. C-6 deletes all three.
2026-05-24 13:21:33 -07:00
..
src/main Path C-5: channel + sub feed + moreFromChannel swap to strawcore 2026-05-24 13:21:33 -07:00
build.gradle.kts Path C-2 fix: uniffiBindgen honors CARGO_TARGET_DIR 2026-05-24 12:59:59 -07:00