From e410d0e92dbc092b6f31fe758e91d6ba167c3448 Mon Sep 17 00:00:00 2001 From: Kayos Date: Sun, 24 May 2026 13:31:10 -0700 Subject: [PATCH] =?UTF-8?q?v0.1.0-AB=20(vc=3D16):=20Path=20C=20=E2=80=94?= =?UTF-8?q?=20rustypipe=20via=20UniFFI=20is=20the=20extractor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- buildSrc/src/main/kotlin/ProjectConfig.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/kotlin/ProjectConfig.kt b/buildSrc/src/main/kotlin/ProjectConfig.kt index 0a9e73122..4a9e4ce63 100644 --- a/buildSrc/src/main/kotlin/ProjectConfig.kt +++ b/buildSrc/src/main/kotlin/ProjectConfig.kt @@ -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"