Move every client-side fetch onto TanStack Query

Add a per-router QueryClient (30s stale, 10m gc) via @tanstack/react-router-ssr-query
and rewrite the useEffect/useState fetchers as named useQuery hooks with exported
query keys: last commits per tree entry (cached forever per tree sha, so navigating
back no longer shows placeholders), commit signatures, pull code alerts, branch push
suggestions, thread subscription, MergeFix polling (refetchInterval while active),
hovercards (query cache instead of a hand-rolled map) and job logs (snapshot query
plus an EventSource that appends through setQueryData). useAction,
useOptimisticMutation and the avatar/attachment/release-asset uploads now run on
useMutation; the editor's session mint is a mutation too.
taigrrcommitted parent 690dcedb76d1f00fd09af41ccf9b4b1030a4f4b113ad649Browse files
25 files changed+320−271

Rendering diff…