One cache for REST and realtime data
The initial snapshot arrives through REST, while WebSocket messages call queryClient.setQueryData() against the same query key. This avoids maintaining parallel realtime state and reduces synchronization problems.



