feat: map profile image URL to authenticatedUser.avatar on hydration#885
feat: map profile image URL to authenticatedUser.avatar on hydration#885SantiagoSuHe wants to merge 1 commit into
Conversation
When hydrateAuthenticatedUser() calls the account API, the response includes profile_image.image_url_full — either the user's uploaded photo or a generated initials avatar. This URL is now mapped to authenticatedUser.avatar so that every MFE header displays the correct image without requiring changes in individual MFEs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Thanks for the pull request, @SantiagoSuHe! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. 🔘 Update the status of your PRYour PR is currently marked as a draft. After completing the steps above, update its status by clicking "Ready for Review", or removing "WIP" from the title, as appropriate. Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Summary
When
hydrateAuthenticatedUser()calls the accounts API, the response includesprofile_image.image_url_full— either the user's uploaded photo or a backend-generated initials avatar. This URL was never mapped toauthenticatedUser.avatar, so every MFE header was ignoring it and falling back to a generic icon.This PR fixes that with a single change in
AxiosJwtAuthService.hydrateAuthenticatedUser():authenticatedUser.avataris now populated for any MFE that callsinitialize()withhydrateAuthenticatedUser: true, without requiring changes in individual MFEs.Context
This is part of a broader effort to replace the generic grey silhouette placeholder with a personalized initials avatar (a colored circle with the user's initials, similar to Google and Slack). The backend change that generates the initials image is in a companion PR:
profile_image.image_url_fullfrom the accounts API.has_imageand ignoring any available URL.This
frontend-platformchange is the piece that connects the backend output to every MFE header at once.How it works end to end
Without this change, step 4 never happens and the header shows the generic icon regardless of what the backend returns.
Changes
src/auth/AxiosJwtAuthService.js— 6 lines added, 1 changed. No new dependencies, no API changes, no breaking changes.Test plan
hydrateAuthenticatedUser: true(profile, account, learner-dashboard)🤖 Generated with Claude Code