Avatars are now obtained from Blender ID. They are downloaded from
Blender ID and stored in the users' home project storage.
Avatars can be synced via Celery and triggered from a webhook.
The avatar can be obtained from the current user object in Python, or
via pillar.api.users.avatar.url(user_dict).
Avatars can be shown in the web frontend by:
- an explicit image (like before but with a non-Gravatar URL)
- a Vue.js component `user-avatar`
- a Vue.js component `current-user-avatar`
The latter is the most efficient for the current user, as it uses user
info that's already injected into the webpage (so requires no extra
queries).
* Drag and drop files to comment editor to add a file attachment
* Using Vue to render comments
Since comments now has attachments we need to update the schemas
./manage.py maintenance replace_pillar_node_type_schemas