v0.1.0-AB (vc=16): Path C — rustypipe via UniFFI is the extractor

End state of the path C re-flip. strawApp Kotlin is now ~UI + thin
glue to strawcore (Rust). The Rust core does:

  - search  (rustypipe.search_videos)
  - streamInfo  (rustypipe.player → pre-signed iOS InnerTube URLs)
  - channelInfo + channel videos (rustypipe.channel + channel_videos)

All via UniFFI suspend fns. NewPipeExtractor is zero-import in
straw Kotlin. libstrawcore.so packs rustypipe + reqwest + tokio +
rustls + rquickjs per ABI (~3-7MB each).

Built against the audit-hardened Sulkta-Coop/rustypipe fork
v0.11.5-sulkta.2 — iOS-first default client order, soft-fail sig
deobf, Deobfuscation errors switchable, observability via Reporter.

Verified end-to-end on emulator:
  - C-3: search returns Darknet Diaries results
  - C-4: VideoDetail loads (title/uploader/views/RYD/description),
         inline ExoPlayer plays the iOS-fetched stream URL
  - C-5: Channel page (NCS) shows banner + avatar + 34.3M subscribers
         + full video list
This commit is contained in:
Kayos 2026-05-24 13:31:10 -07:00
parent 979b4021b0
commit e410d0e92d

View file

@ -15,6 +15,6 @@ const val NEWPIPE_APPLICATION_ID_OLD = "org.schabi.newpipe"
const val NEWPIPE_APPLICATION_ID_NEW = "net.newpipe.app"
// Sulkta fork — Straw
const val STRAW_VERSION_CODE = 15
const val STRAW_VERSION_NAME = "0.1.0-AA"
const val STRAW_VERSION_CODE = 16
const val STRAW_VERSION_NAME = "0.1.0-AB"
const val STRAW_APPLICATION_ID = "com.sulkta.straw"