Skip to content

[Due for payment 2026-10-16] Workspace owner of invited workspace shows fallback avatar without name when opened as guest #103524

Closed

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.6-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #97644
Email or phone of affected tester (no customers): jsdoinjsiosiiosdj@gmail.com
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: Mac 26.5 / Chrome
App Component: Workspace Settings

Action Performed:

Precondition:

  • Create a Control workspace.
  • Invite a member as guest.
  • Perform the steps below as guest:
  1. Go to staging.new.expensify.com
  2. Do not go to workspace chat.
  3. Go to Workspaces tab.

Expected Result:

Workspace owner of the invited workspace will show avatar and name.

Actual Result:

Workspace owner of the invited workspace shows fallback avatar without name when opened as guest.

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7281561_1791489860275.4.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Nathan Lemma
Bug ID: 7281561

Issue OwnerCurrent Issue Owner: @nkdengineer

Activity

  1. applause-bot commented on Oct 8, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/de0f35624e7e015d1d762625f4bcb3f0a2618dfd22ec99dc0a5e3b2d04d466ae

  2. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 8, 2026
  3. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    You have been assigned to this deploy blocker because you recently merged this PR: #97644

  4. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    @JmillsExpensify @flodnv @nkdengineer you have been assigned to this deploy blocker because you reviewed the offending PR: #97644

  5. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    @ShridharGoel you have been assigned to this deploy blocker because you authored the offending PR: #97644

  6. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  7. 1 remaining item

  8. MelvinBot commented on Oct 8, 2026

    @MelvinBot
    Contributor

    🔍 Investigation Summary

    Classification: Guest-role data gap. The App PR exposes it, but the proper fix is likely backend.
    Causing PR: [Payment due @nkdengineer] Add Guest workspace role by ShridharGoel. Medium confidence that it triggers the bug. Low confidence that its code is wrong.

    Recommendation: DEMOTE (don't revert)

    The bug is cosmetic and only affects guests. The owner's name and avatar are blank on the Workspaces tab until the guest opens the workspace chat. #97644 doesn't change the Workspaces list code. Reverting the whole Guest feature would be out of proportion.

    Fix options:

    1. Backend (preferred): include the workspace owner's personal details in a guest's data.
    2. App stopgap: pass policy.owner through the list selector. Then reuse the email and default-avatar fallback that join-request rows already use. This shows the owner's email, not their real name or avatar.
    📋 Detailed analysis

    Mechanism

    1. The Workspaces tab reads the owner's name and avatar only from personal details, by owner accountID: WorkspacesListPage.tsx#L84-L91.
    2. For normal workspace rows, a missing entry leaves the owner login, avatar, and name empty: WorkspacesListPage.tsx#L148 and #L167-L169.
    3. The row then shows the default avatar with no name: WorkspaceTableRow.tsx#L196-L204.
    4. Join-request rows already handle this case with an email and default-avatar fallback: WorkspacesListPage.tsx#L111-L120. Normal rows don't. The list selector also drops the policy owner email: selectors/Policy.ts#L164-L170.
    5. Guests can't browse workspace members. So a guest's initial data most likely doesn't include the owner's personal details. They arrive only when the guest opens a chat the owner is in. That explains the "do not go to workspace chat" step. This step is inferred and not yet confirmed against backend data.

    Why #97644 is the trigger, not the code at fault

    Labels and assignment

    I changed no labels and assigned no one. A human should decide whether to demote. I suggested no code review rule, because this is a data-visibility gap for a new role, not a pattern you can detect in code.


    Next Steps: Reply with @MelvinBot implement the App stopgap to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.

  9. melvin-bot commented on Oct 8, 2026

    @melvin-bot

    ⚠️ Looks like this issue was linked to a Deploy Blocker here

    If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

    If a regression has occurred and you are the assigned CM follow the instructions here.

    If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

  10. m-natarajan commented on Oct 9, 2026

    @m-natarajan

    Not repro on Mac build 9.5.6-5, no Invite guest option

    Retest.Guest.mp4
  11. added and removed
    ReviewingHas a PR in review
    on Oct 9, 2026
  12. changed the title [-]Workspace owner of invited workspace shows fallback avatar without name when opened as guest[/-] [+][Due for payment 2026-10-16] Workspace owner of invited workspace shows fallback avatar without name when opened as guest[/+] on Oct 9, 2026
  13. melvin-bot commented on Oct 9, 2026

    @melvin-bot

    @nkdengineer

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.6-6 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2026-10-16. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]. If no checklist is needed for this issue, you can click: [no checklist button]

  14. melvin-bot commented on Oct 19, 2026

    @melvin-bot

    ⚠️ Looks like this issue was linked to a Deploy Blocker here

    If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

    If a regression has occurred and you are the assigned CM follow the instructions here.

    If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

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

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.EngineeringReviewingHas a PR in reviewWeeklyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions