Replaced the one-shot initialized flag with a dirty flag that allows the useEffect to re-sync local state from server data after a successful save. Previously, once initialized was set to true, the effect never ran again so avatar changes were lost on refetch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>