Found this after a fresh install and have a fix for it with some updated logic. I will post the details here, with the fix. If you would like I can create an issue, then the PR as the fix.
Issue:
Avatar Regression on Fresh Installs
Problem:
After cloning main, running docker compose up, migrating, and creating the default admin account, the navbar avatar on / appears broken and the console logs Cannot read properties of null (reading '0'). Loading /admincp/ produces a 500 trace in misago/users/templatetags/misago_avatars.py. Every code path assumes user.avatars is a populated list, but fresh accounts have avatars = None, so both Django and React crash.
Fix outline:
1. misago/users/templatetags/misago_avatars.py – short-circuit to the blank avatar when user.avatars is falsy to keep templates safe.
2. misago/users/views/avatarserver.py – treat user.avatars or []; if the list is empty, immediately redirect to blank_avatar.
3. frontend/src/components/avatar.js – ensure getSrc only resolves thumbnails when user.avatars is a non-empty array, and make resolveAvatarForSize fall back to the blank placeholder when nothing exists.
4. Rebuild the frontend bundle so browsers receive the hardened component.
Verification:
Fresh install → login as admin → navbar avatar now renders (real image after thumbnails are generated, otherwise blank placeholder). /admincp/ loads without errors, and direct requests to /media/avatars/...png succeed.
Let me know if you would like me to create an issue then a PR. This seems to have fixed it for me. The logic is sound.