842ee6f076
applyRigList() was called on every SSE state update (since `remotes` is always present in the payload), and it unconditionally called bmFetch() which fires 2x GET /bookmarks (list + overlay). At the default poll rate this generated ~20 bookmark fetches/second — visible as constant GET /bookmarks traffic on each spectrum render cycle. Now track the previous rig list + active rig as a key and only re-fetch bookmarks (and re-init scheduler/background-decode) when the rig list actually changes. https://claude.ai/code/session_017g7VNMb6CChaiWrfzVBhbR Signed-off-by: Claude <noreply@anthropic.com>