Skip to content

[Due for payment 2026-10-21] Allow workspace admins to set a member's display name when one isn't set #100343

Closed
3 of 3 issues completed

Description

@flaviadefaria

Background

Admins regularly ask to set a display name for members who don't have one — most often when the member signed up with a phone number, or when their email doesn't make their first and last name obvious. Today the display name is an account-level setting only the member can change.

HR integrations already set a member's display name when none exists. This brings the same capability to the Members page so admins can do it manually.

Scope

  • On the workspace member profile (RHP, opened from the Members page), let an admin set the member's Display name when the member doesn't already have one.
  • Only when no name is set. If one already exists — set by the member, by an HR integration, or by Clearbit — the row is read-only and the caret goes away.
  • The name saves at the account level, so it applies across every workspace the member belongs to.
  • Audit trail: post a system message in that member's default expense chat confirming the change. The message marks the chat unread only for the member whose name has changed.

Mockups

Image Image Image Image Image

Out of scope

  • Setting display names through CSV import — a good follow-up.

Open item

The audit-trail message repeats admin-supplied text back to the member, so before release, we should confirm with the fraud and spam team that they will now be screening for this field.

Reported in Slack.

Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. self-assigned this
    on Sep 3, 2026
  2. melvin-bot commented on Sep 3, 2026

    @melvin-bot

    Triggered auto assignment to Design team member for new feature review - @dubielzyk-expensify (NewFeature)

  3. flaviadefaria commented on Sep 3, 2026

    @flaviadefaria
    ContributorAuthor

    Unassigning @dubielzyk-expensify since he's already assigned to the parent issue.

  4. self-assigned this
    on Sep 4, 2026
  5. melvin-bot commented on Sep 7, 2026

    @melvin-bot

    @allgandalf Whoops! This issue is 2 days overdue. Let's get this updated quick!

  6. flaviadefaria commented on Sep 8, 2026

    @flaviadefaria
    ContributorAuthor

    @allgandalf I updated the mockups, so we're good to go here. Let me know in case you have any questions.

  7. allgandalf commented on Sep 8, 2026

    @allgandalf
    Contributor

    nice, i'll get to these tomorrow

  8. allgandalf commented on Sep 10, 2026

    @allgandalf
    Contributor

    Assigning @Valforte here since pullerbear assigned them for review on the PR

  9. 27 remaining items

  10. allgandalf commented on Oct 16, 2026

    @allgandalf
    Contributor

    Assigned @gijoe0295 for payment here, @gijoe0295 can you please add checklist here ? thanks !

  11. gijoe0295 commented on Oct 16, 2026

    @gijoe0295
    Contributor

    Contributor+ Checklist:

    • [Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.

      No, this is new feature

    • [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.

      Link to discussion: N/A

    • [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

      No

    Regression Test Proposal

    Precondition:

    • Admin account has at least 1 workspace

    Test:

    1. Sign in as an admin of a workspace that has a member who signed up with a phone number
    2. Go to that workspace, open Members, and open that member
    3. Click Profile and verify a Display name row showing their phone number, with a caret
    4. Click the row, enter a first and last name, and click Save
    5. Verify the Display name row now shows the name and has no caret
    6. Verify the member's name updates everywhere it is shown, including the Members list
    7. Open that member's expense chat and verify the admin does not see any message about it
    8. Sign in as the member and verify their expense chat is unread, with a whisper naming the new display name, what it was before, and an Only visible to you note
    9. Click Edit in your profile in that whisper and verify it opens the account Display name page
    10. Open a member who already has a name as the admin and verify the Display name row has no caret

    Do we agree 👍 or 👎

  12. added
    Awaiting PaymentAuto-added when associated PR is deployed to production
    and removed on Oct 20, 2026
  13. melvin-bot commented on Oct 20, 2026

    @melvin-bot

    Triggered auto assignment to @mallenexpensify (Awaiting Payment)

  14. melvin-bot commented on Oct 20, 2026

    @melvin-bot

    Payment Summary

    Resolving PRs:

    BugZero Checklist (@mallenexpensify)

    • I have confirmed assignees, roles, and Upwork contracts look correct
    • I have paid out Upwork contracts / manual NewDot requests
    • [BugZero Assignee] I have created a GH issue for creating/updating the regression test once above steps have been agreed upon
  15. mallenexpensify commented on Oct 21, 2026

    @mallenexpensify
    Contributor

    @gijoe0295 this issue and/or PR mention a deploy blocker or a regression. Before the payment date, post one of the three options in step 20 of the C+ doc: it was a regression, it was not, or you did not review the offending PR. If you don't post, the default is to reduce payment.

  16. gijoe0295 commented on Oct 22, 2026

    @gijoe0295
    Contributor

    Yes, It was a regression

  17. gijoe0295 commented on Oct 22, 2026

    @gijoe0295
  18. mallenexpensify commented on Oct 22, 2026

    @mallenexpensify
    Contributor

    @MelvinBot for this job and payment, how many regressions were there that would/should reduce payment?

  19. MelvinBot commented on Oct 22, 2026

    @MelvinBot
    Contributor

    3 regressions count against this payment. All three came from Allow workspace admins to set a member's display name, which gijoe0295 reviewed as C+. gijoe0295 also confirmed above that it was a regression.

    1. Members - Not here page is shown briefly after editing member's display name
    2. Members - Hover effect on Display name is cut off on left and right
    3. Workspace - "updated your display name to x" whisper disappears after reacting to it

    The fourth link, Expense - Expense is not duplicated in source report when it is duplicated via bulk select, does not count. Its offending PR is Keep duplicated expenses on the source report when it can accept them, which gijoe0295 did not review.

    HOW_TO_BECOME_A_CONTRIBUTOR_PLUS.md:8 cuts C+ pay by 50% for each regression that should have been caught. Three regressions would wipe out the full $175.

    Notes

    view run

  20. mallenexpensify commented on Oct 22, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor+: @gijoe0295 due $50 via NewDot

    Multiple regressions, the floor is 25% so $50 is due.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2NewFeatureSomething to build that is a new item.ReviewingHas a PR in review

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions