vc=82 — subscription-feed enrichment via lightweight stream_metadata
enrich_feed_item now calls the new strawcore stream_metadata() path (Android /player + videoDetails read only) instead of the full stream_info. The full path ran the JS sig/nsig deobf, an extra WEB /player metadata round-trip, the iOS client, and stream/manifest/caption extraction — then kept only view_count + duration_seconds. Those two come from the same videoDetails the lightweight path reads (populate_microformat never touches them), so the values are identical; the feed just stops paying for the discarded work — ~one heavy round-trip dropped per enriched item per refresh. FFI surface (enrichFeedItem -> EnrichedFeedMetadata) unchanged. Needs strawcore 30f24d2 (pushed first; CI clones strawcore main).
This commit is contained in:
parent
f51b4fbb77
commit
a636977512
3 changed files with 45 additions and 10 deletions
|
|
@ -9,6 +9,21 @@ const val STRAW_SDK_TARGET = 35
|
|||
|
||||
// Sulkta fork — Straw
|
||||
//
|
||||
// vc=82 / 0.1.0-CP — subscription-feed enrichment goes lightweight:
|
||||
// * Filling in a feed row's view count + duration used to run the FULL
|
||||
// stream extraction per item (the same path opening a video does):
|
||||
// Android /player, the JS signature/nsig deobfuscation, an extra WEB
|
||||
// /player metadata round-trip, plus stream/manifest/caption parsing —
|
||||
// then threw all of it away except those two numbers. On a refresh
|
||||
// that touched dozens of items that was dozens of redundant heavy
|
||||
// round-trips.
|
||||
// * Now it calls a new strawcore stream_metadata() path that does only
|
||||
// the Android /player fetch + the videoDetails read those two fields
|
||||
// come from, skipping the JS eval, the extra WEB round-trip, iOS, and
|
||||
// stream extraction. The values are identical (they come from the same
|
||||
// videoDetails the full path used), the feed just stops paying for
|
||||
// work it discarded. (strawcore 30f24d2.)
|
||||
//
|
||||
// vc=81 / 0.1.0-CO — perf-audit app-side batch (no behavior change):
|
||||
// * Search: the reactive cache-preview filter no longer runs on the
|
||||
// main thread on every keystroke. It walked the entire cached-
|
||||
|
|
@ -134,6 +149,6 @@ const val STRAW_SDK_TARGET = 35
|
|||
// vc=19 / 0.1.0-AE — rust pipeline cutover. Extraction via
|
||||
// strawcore-core (Sulkta-OSS/strawcore) via the UniFFI wrapper; no
|
||||
// NewPipeExtractor in the runtime path.
|
||||
const val STRAW_VERSION_CODE = 81
|
||||
const val STRAW_VERSION_NAME = "0.1.0-CO"
|
||||
const val STRAW_VERSION_CODE = 82
|
||||
const val STRAW_VERSION_NAME = "0.1.0-CP"
|
||||
const val STRAW_APPLICATION_ID = "com.sulkta.straw"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue