Extract makeConnectHandler(queryClient) (owning the firstConnect flag) from UserProvider and test it: first connect does NOT invalidate; a reconnect invalidates both root-sidebar-pages + sidebar-pages. Behavior-identical (#66). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>