Populate global user display name from id_token on login (ARB-515)#380
Merged
Populate global user display name from id_token on login (ARB-515)#380
Conversation
The /api/cohorts REST endpoint was persisting the Kinde `sub` as the display name when first creating a global user, relying on a later WebSocket auth to overwrite it with the real name. Users who logged in but had not yet been added to any cohort never reached the WS auth path, so their display name stayed stuck on the Kinde sub until someone added them to a cohort. Extract the name from the id_token alongside the email, and use it as the display name in ensure_global_user. When no id_token is provided, fall back to a new find_or_create_global_user helper that creates with a sub placeholder but does NOT overwrite an existing user's display_name (so the WS path can still populate it later). Fixes ARB-515.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
4 tasks
briansmiley
added a commit
that referenced
this pull request
Apr 14, 2026
Reverts commits 7cd390c..c5f4008 (15 commits) to restore the pre-multi-cohort state. Critical event tomorrow — rolling back to last known stable state. Reverted commits: - 7cd390c Multi-cohort support with per-member initial balance (#358) - 1a9259e Allow sudoed admins higher decimal precision (#370) - 612f7e7 Add select all / clear buttons to transfer recipient multiselect (#350) - ec96705 Link cohort members to existing users when added by email (#378) - eed7a73 Consolidate admin page data loading into single /api/admin/overview (#381) - eac92d0 Populate global user display name from id_token on login (ARB-515) (#380) - c5461ee Remove redundant Refresh button from /admin page (#382) - 77168e3 Sync Kinde admin role into global_user.is_admin (ARB-512) (#379) - 685ee0c Remove dead get_market_positions and fix 0.5.0 ImportError (#385) - e9d49f7 Constrain initial balance inputs to numeric values (#383) - 95ff300 Stop overwriting global_user display_name on admin REST calls (#386) - 0163100 Show user email on admin page while editing display name (#387) - 85f2c5f Fix user selection dropdown hover when multiple users have same name (#388) - 3fedb38 Add admins to cohort member list on access (ARB-510) (#389) - c5f4008 Fan out display-name rename to every cohort (ARB-513) (#390) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
briansmiley
added a commit
that referenced
this pull request
Apr 14, 2026
Reverts commits 7cd390c..c5f4008 (15 commits) to restore the pre-multi-cohort state. Critical event tomorrow — rolling back to last known stable state. Reverted commits: - 7cd390c Multi-cohort support with per-member initial balance (#358) - 1a9259e Allow sudoed admins higher decimal precision (#370) - 612f7e7 Add select all / clear buttons to transfer recipient multiselect (#350) - ec96705 Link cohort members to existing users when added by email (#378) - eed7a73 Consolidate admin page data loading into single /api/admin/overview (#381) - eac92d0 Populate global user display name from id_token on login (ARB-515) (#380) - c5461ee Remove redundant Refresh button from /admin page (#382) - 77168e3 Sync Kinde admin role into global_user.is_admin (ARB-512) (#379) - 685ee0c Remove dead get_market_positions and fix 0.5.0 ImportError (#385) - e9d49f7 Constrain initial balance inputs to numeric values (#383) - 95ff300 Stop overwriting global_user display_name on admin REST calls (#386) - 0163100 Show user email on admin page while editing display name (#387) - 85f2c5f Fix user selection dropdown hover when multiple users have same name (#388) - 3fedb38 Add admins to cohort member list on access (ARB-510) (#389) - c5f4008 Fan out display-name rename to every cohort (ARB-513) (#390) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/api/cohortswas creating newglobal_userrows withclaims.subas the display name, relying on WebSocket auth to later overwrite it with the real name from the id_token. Users who logged in but hadn't yet been added to any cohort never reached the WS auth path, so their display name stayed stuck on the Kinde sub until someone added them to a cohort.namefrom the id_token (alongside email) and pass it toensure_global_user, so the real display name is persisted on first login.find_or_create_global_userhelper that creates with a sub placeholder but does not overwrite an existing user's display_name, leaving the WS auth path free to populate it later.Fixes ARB-515.
Test plan
cargo clippy --features dev-mode --all-targetspassescargo test-allpasses