Skip to content

[HOLD for payment 2024-08-02] [$250] Workspace - Fallback avatar in workspace chat is clickable and leads to not here page #44853

Closed

Description

@lanitochka17

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 9.0.4-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team

Action Performed:

  1. Go to staging.new.expensify.com
  2. Go offline
  3. Go to workspace settings > Members
  4. Invite a non-existing user
  5. Go to workspace chat with the invited user
  6. Click on the chat header
  7. Click on the fallback avatar (invited user)

Expected Result:

The fallback avatar should not be clickable

Actual Result:

The fallback avatar is clickable and leads to not here page

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

Bug6532900_1720084856397.bandicam_2024-07-04_17-18-11-171.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0189b738ae283ab8e4
  • Upwork Job ID: 1811060566160624462
  • Last Price Increase: 2024-07-17
  • Automatic offers:
    • neonbhai | Contributor | 103172276
Issue OwnerCurrent Issue Owner: @zanyrenney

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jul 4, 2024
  2. melvin-bot commented on Jul 4, 2024

    @melvin-bot

    Triggered auto assignment to @miljakljajic (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. lanitochka17 commented on Jul 4, 2024

    @lanitochka17
    Author

    @miljakljajic FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

  4. lanitochka17 commented on Jul 4, 2024

    @lanitochka17
    Author

    We think that this bug might be related to #wave-collect - Release 1

  5. daledah commented on Jul 4, 2024

    @daledah
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    The fallback avatar is clickable and leads to not here page

    What is the root cause of that problem?

    In offline mode, we can't call successfully openPublicProfilePage and can't get avatarURL in

    shouldShowNotFoundPage={!avatarURL}

    What changes do you think we should make in order to solve the problem?

    In the function openPublicProfilePage we can set avatarUrl to the default avatar when its call fails

    What alternative solutions did you explore? (Optional)

    We'll not allow user to navigate to the avatar page when it don't have data and in offline mode
    NA

  6. cretadn22 commented on Jul 4, 2024

    @cretadn22
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    Workspace - Fallback avatar in workspace chat is clickable and leads to not here page

    What is the root cause of that problem?

    onPress={() => navigateToAvatarPage(icon)}

    In the navigateToAvatarPage function, we haven't included logic to prevent the user from navigating to the avatar page if the avatar is default

    What changes do you think we should make in order to solve the problem?

    In the ProfileAvatar component, we currently have logic to display a "not found" page if we cannot find personalDetail matching the accountID prop. We should implement the same logic in the navigateToAvatarPage function

    if (icon.id) {
    Navigation.navigate(ROUTES.PROFILE_AVATAR.getRoute(icon.id));
    }

    We need to verify whether we can find a personalDetail that matches the icon.id. If we can find a match, then we'll allow the user to navigate to the avatar page.

    Even though, we can display the disable pointer when the user hovers over the default avatar

    What alternative solutions did you explore? (Optional)

    On the Header page, we also disable the header view, including interactions with the avatar.

    disabled={shouldDisableDetailPage}
    accessibilityLabel={title}
    role={CONST.ROLE.BUTTON}
    >
    {shouldShowSubscript ? (
    <SubscriptAvatar

    Here, we use the function isOptimisticPersonalDetail.
    return isOptimisticPersonalDetail(participantAccountIDs[0]);

    I recommend that we do the same in RoomHeaderAvatars (there are two places that need to apply the disabled props)

    disabled={ReportUtils.isOptimisticPersonalDetail(icon.id)}
    

    Note that icon.id refers to accountID as defined

    id: report?.ownerAccountID,

  7. neonbhai commented on Jul 4, 2024

    @neonbhai
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    Workspace - Fallback avatar in workspace chat is clickable and leads to not here page

    What is the root cause of that problem?

    Whe navigating to avatar page here, we do not check if the avatar is the default Fallback avatar.

    We should disable navigating if the avatar is the fallback avatar.

    What changes do you think we should make in order to solve the problem?

    We should have a check that disables clicking on the avatar here and here when it is the fallback avatar:

    <PressableWithoutFocus
    style={styles.noOutline}
    onPress={() => navigateToAvatarPage(icons[0])}
    accessibilityRole={CONST.ACCESSIBILITY_ROLE.IMAGEBUTTON}
    accessibilityLabel={icons[0].name ?? ''}
    >

    disabled={icon.source === Expensicons.FallbackAvatar}

    Result

    Screen.Recording.2024-07-04.at.10.10.29.PM.mov
  8. melvin-bot commented on Jul 9, 2024

    @melvin-bot

    @miljakljajic Huh... This is 4 days overdue. Who can take care of this?

  9. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Jul 10, 2024
  10. changed the title [-]Workspace - Fallback avatar in workspace chat is clickable and leads to not here page[/-] [+][$250] Workspace - Fallback avatar in workspace chat is clickable and leads to not here page[/+] on Jul 10, 2024
  11. melvin-bot commented on Jul 10, 2024

    @melvin-bot
  12. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Jul 10, 2024
  13. 46 remaining items

  14. miljakljajic commented on Aug 8, 2024

    @miljakljajic
    Contributor

    Thank you!

  15. aimane-chnaif commented on Oct 3, 2024

    @aimane-chnaif
    Contributor

    @miljakljajic I am not paid yet. Can you please reopen and sort payment on upwork? Thanks

  16. added
    BugSomething is broken. Auto assigns a BugZero manager.
    and removed
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 7, 2024
  17. melvin-bot commented on Oct 7, 2024

    @melvin-bot

    Triggered auto assignment to @zanyrenney (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  18. dangrous commented on Oct 7, 2024

    @dangrous
    Contributor

    @miljakljajic is OOO at the moment, so re-assigned via Bug label - @zanyrenney please see #44853 (comment) when you have a moment, thanks!

  19. zanyrenney commented on Oct 7, 2024

    @zanyrenney
    Contributor

    hey @aimane-chnaif apologies about you getting forgotten!

  20. zanyrenney commented on Oct 7, 2024

    @zanyrenney
    Contributor

    Have sent you another invite for it - https://www.upwork.com/nx/wm/offer/104306643

  21. zanyrenney commented on Oct 8, 2024

    @zanyrenney
    Contributor

    bump @aimane-chnaif please accept

  22. zanyrenney commented on Oct 9, 2024

    @zanyrenney
    Contributor

    Payment summary

    paid @aimane-chnaif $250 via upwork.

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 productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions