Home

dev / openkara

publicthedavidweng/OpenKara· sync paused
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

fix(remote): preserve reconnect cache pin guard and fetch event listener

2 months ago

899acd2
Authored
Davy7/20/2026, 8:33:17 PM
- attempt_remote_reconnect's re_resolve closure now spawns a fetch event
  listener thread for the reconnected source, moving the cache_pin_guard
  into that thread so it lives for the duration of the reconnected
  playback. Without this, the reconnected source's cache entry was
  unpinned (could be evicted mid-playback) and subsequent transient
  failures had no listener (reconnect could only succeed once).
- When the reconnected source has no fetch_event_rx (e.g. cache fast
  path), the pin guard is kept alive in a parked thread to prevent
  eviction during playback.
- Fix stale comment in executor.rs: StaleRequest maps to
  LocalState::Dirty (mirroring OperationCancelled), not 'does not mark
  the publish dirty' as the old comment claimed.

Parent61c0e6c

2 files changed
  • src-tauri/src/remote/executor.rs+3−2
  • src-tauri/src/services/playback.rs+95−0