47fb727582
Refresh soft-expired issue and PR view cache rows synchronously before returning content, while keeping PR diff rows on stale-first refresh semantics. Add stale fallback warnings when a live refresh fails and cover the cache/protocol behavior in tests. Fixes #2684