vc=33: persistent feed cache + strawcore avatar fix (via strawcore-core)
Channel-avatar issue and the sluggish-load issue both addressed. strawcore-core (Sulkta-Coop/strawcore @ 7c71511) — separate repo, already committed + pushed: Channel parser was only pulling avatar from the legacy c4TabbedHeaderRenderer branch. The newer pageHeaderRenderer (most channels with a 2024+ refreshed header — including WTYP) was returning empty avatars. Added a deep-nested ViewModel walk for pageHeaderRenderer, plus a metadata.channelMetadataRenderer .avatar.thumbnails[] backfill. WTYP and other re-headered channels should now show their icon. Persistent feed cache (data/FeedCacheStore.kt): New SharedPreferences-backed JSON store. ~225 KB at the upper bound (30 subs * 30 items * ~250 bytes), well within SP's comfort zone. Survives process death. SubscriptionFeedViewModel: Hydrates from FeedCacheStore on init. The Subs tab now paints cached items in one frame on cold start, then refreshes stale channels in the background. Persists the cache after each successful refresh via Dispatchers.IO. Per-channel TTL bumped 10min → 30min (disk cache amortizes the cost; stale-from-disk + background-refresh feels like instant). Per-channel timeout 15s → 10s (slow channel rides cached value instead of stalling the batch). Parallelism 8 → 12 (less network-bound now that UI doesn't wait for first byte). StreamItem now @Serializable so the cache can encode it. FeedCache.init wired into StrawApp.onCreate alongside the other SharedPreferences-backed stores.
This commit is contained in:
parent
2afdcf3d5c
commit
69560889ae
4 changed files with 58 additions and 11 deletions
|
|
@ -55,6 +55,6 @@ const val NEWPIPE_APPLICATION_ID_NEW = "net.newpipe.app"
|
|||
// vc=19 / 0.1.0-AE — rust pipeline cutover. Extraction via
|
||||
// strawcore-core (Sulkta-Coop/strawcore) via the UniFFI wrapper; no
|
||||
// NewPipeExtractor in the runtime path.
|
||||
const val STRAW_VERSION_CODE = 32
|
||||
const val STRAW_VERSION_NAME = "0.1.0-AR"
|
||||
const val STRAW_VERSION_CODE = 33
|
||||
const val STRAW_VERSION_NAME = "0.1.0-AS"
|
||||
const val STRAW_APPLICATION_ID = "com.sulkta.straw"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue