straw/rust/strawcore/src
Sulkta 7c90f70a0a vc=90: cold-start store hydration off-Main + video-page status-bar fix + RYD FFI slim
Resume + Enrichment stores no longer JSON-decode on the main thread in Application.onCreate (Resume is the heaviest cold-start cost: ~50-100ms decode at its 100k-entry cap). Both seed an empty StateFlow and hydrate off-thread on their PrefsWriter single-thread dispatcher. Mutations that arrive before the hydrate finishes defer onto that FIFO dispatcher (a hydrated gate) so they re-run on fully-loaded state -- correct for adds AND clears; a naive loaded+live merge would resurrect a clear that landed on the empty seed. Subscriptions/Playlists/History/Settings stay eager (tiny + rendered directly -> would flash empty). (audit 2.1)

Video page: details/related rows no longer leak into the status-bar strip above the player when scrolled. topPadding is now a layout inset on the detail LazyColumn, so the scroll viewport begins+clips at the player's bottom edge instead of letting rows scroll up over the clock/signal.

RYD: dropped the dead rating + view_count fields from the strawcore RydVotes FFI Record + Kotlin shim -- only likes/dislikes are rendered; RYD's rating restates the like/dislike ratio and its viewCount is a stale aggregate conflicting with the real YouTube count already shown. (audit #2 L-9)

Adversarially reviewed (Opus): clear-resurrection closed, no defer-loop, FFI slim has no readers. Headless compileDebugKotlin green.
2026-06-22 05:10:48 -07:00
..
channel.rs straw: infinite-scroll pagination for channel + search 2026-06-19 18:21:42 -07:00
error.rs Public-flip audit: scrub audit-ticket prefixes + internal references + tighten README 2026-05-27 13:29:53 -07:00
feed.rs vc=88: deferred-hygiene sweep (audit #2 leftovers, no behavior change) 2026-06-21 20:03:45 -07:00
lib.rs vc=85: image caching + SB/RYD clients -> Rust + crash/autoplay fixes 2026-06-21 12:59:04 -07:00
net.rs vc=90: cold-start store hydration off-Main + video-page status-bar fix + RYD FFI slim 2026-06-22 05:10:48 -07:00
runtime.rs Public-flip audit: scrub audit-ticket prefixes + internal references + tighten README 2026-05-27 13:29:53 -07:00
search.rs straw: infinite-scroll pagination for channel + search 2026-06-19 18:21:42 -07:00
stream.rs vc=84 — rename launcher to 'Straw' + move stream picker into Rust 2026-06-21 11:41:50 -07:00
uniffi-bindgen.rs v0.1.0-U (vc=8): Phase U-1 + U-2 — Rust core + rustypipe search 2026-05-24 08:36:50 -07:00