mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-19 18:36:53 +02:00
4e8d8c849d
* launcher: keep primary update feed answer when the fallback request fails When the primary feed is reachable but its tag differs from the build tag, the result was discarded and the GitHub API fallback was consulted. If the fallback request failed (api.github.com rate-limits unauthenticated requests), the launcher reported an error even though the primary feed had already returned a usable update answer with a working release URL. Keep the primary feed answer and show it if the fallback fails. * emulator: validate numeric CLI arguments --screen-width, --screen-height, --gpu, and --vblank-frequency were parsed with Common::ToInt32/ToInt64, which ignores std::from_chars errors and returns 0, so values like "--screen-width abc" or "--gpu xyz" were silently accepted: zero screen size, or GPU 0 selected instead of auto (-1). Reject invalid values with an error message like the other options, using from_chars-based helpers (ParseUint32/ParseInt32); reject zero screen dimensions. * tests: add LeastRecentlyUsedCache regression tests Cover the LRU cache walk order, tick filtering in ForEachItemBelow, early-exit boolean callbacks, Touch reordering and same-tick skips, Free, and freed-id reuse by later inserts. Modeled on BitArrayTests. * tests: use a tick cutoff that detects a stale newest-item tick Collect(cache, 35) also visits c when Touch(c, 35) failed to update its tick (30 <= 35). Use a cutoff of 30 and expect only b. * Run LRU cache tests in CI --------- Co-authored-by: nmzik <Nmzik@mail.ru>