This repository has no description

app: stop refetching profiles Bluesky doesn't have master

useAvatars asked for every DID missing from the profile cache on every render, and callers pass a fresh array each render. A DID the Bluesky app view doesn't know (an account on another PDS with no Bluesky profile) never lands in the cache, while getProfiles replaced the cache object even when it got nothing back. So a stream page for such an account refetched and re-rendered in a loop until React gave up with "Maximum update depth exceeded" and the screen went white. The Android e2e suite hit it intermittently: its accounts live on a local PDS. Ask for each DID once, keyed on the DIDs rather than the array, and leave the cache alone when a lookup returns nothing. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>


+19 -11
2 changed files