Skip to content

[Payment due][$1000] Room - Side panel does not close when clicking outside of panel #34394

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: 1.4.24-4
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:

Action Performed:

  1. Click on FAB > Start chat > room > workspace
  2. Click outside of the side panel

Expected Result:

Side panel should close as it does when clicking on outside of the panel anywhere in the app

Actual Result:

Side panel stays open but navigates one step back

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

Bug6339423_1705008289448.clickingOnOutsideBoxRoom.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~011ab450f9ef4bcadd
  • Upwork Job ID: 1745558199758635008
  • Last Price Increase: 2024-02-21
  • Automatic offers:
    • hoangzinh | Reviewer | 28104675
    • neonbhai | Contributor | 28104676
    • Krishna2323 | Contributor | 28142924
Issue OwnerCurrent Issue Owner: @kadiealexander

Activity

  1. added
    ExternalAdded to denote the issue can be worked on by a contributor
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jan 11, 2024
  2. changed the title [-]Room - Side panel does not close when clicking outside of panel[/-] [+][$500] Room - Side panel does not close when clicking outside of panel[/+] on Jan 11, 2024
  3. melvin-bot commented on Jan 11, 2024

    @melvin-bot
  4. melvin-bot commented on Jan 11, 2024

    @melvin-bot

    Triggered auto assignment to @kadiealexander (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

  5. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Jan 11, 2024
  6. melvin-bot commented on Jan 11, 2024

    @melvin-bot

    Triggered auto assignment to Contributor-plus team member for initial proposal review - @hoangzinh (External)

  7. Krishna2323 commented on Jan 11, 2024

    @Krishna2323
    Contributor

    Proposal

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

    Room - Side panel does not close when clicking outside of panel

    What is the root cause of that problem?

    We are only hiding picker modal when onClose is called inside ValuePicker.

    const hidePickerModal = () => {
    setIsPickerVisible(false);
    };

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

    Option 1:
    We need to modify ValueSelectorModal to accept a callback for onBackdropPress event also and then we will pass a function that calls Navigation.dismissModal() when onBackdropPress event is fired inside ValueSelectorModal. We also need to introduce onBackdropPress callback prop inside BaseModal.

    Option 2:
    Or we can use onBackButtonPress on HeaderWithBackButton to hide the valuePicker and use onClose to dismiss modal using Navigation.dismissModal() or Navigation.goBack(), inside ValueSelectorModal we can separate logic.

    Option 3:
    We will pass a callback to BaseModal directly from ValueSelectorModal that will run on backdropPress and will call Navigation.dismissModal() or Navigation.goBack(). Still we need to add a onBackdropPress prop inside BaseModal. We will be passing the callback to BaseModal as a default value. Like we did it here:

    <Overlay
    onPress={() => {
    if (isExecutingRef.current) {
    return;
    }
    isExecutingRef.current = true;
    navigation.goBack();
    }}
    />

    Result

    workspace_modal_hide.mp4

    Alternative:

    We will make this a page on the RHP (Exactly like #26742). We will:

  8. yuetong3yu commented on Jan 11, 2024

    @yuetong3yu

    Feel like it's expected instead a bug.

  9. melvin-bot commented on Jan 11, 2024

    @melvin-bot

    📣 @yuetong3yu! 📣
    Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
    Please follow these steps:

    1. Make sure you've read and understood the contributing guidelines.
    2. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
    3. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
    4. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
      Screen Shot 2022-11-16 at 4 42 54 PM
      Format:
    Contributor details
    Your Expensify account email: <REPLACE EMAIL HERE>
    Upwork Profile Link: <REPLACE LINK HERE>
    
  10. yuetong3yu commented on Jan 12, 2024

    @yuetong3yu

    Contributor details
    Your Expensify account email: yuetong3yu@gmail.com
    Upwork Profile Link: https://www.upwork.com/freelancers/~019f5d35fda67374fb

  11. melvin-bot commented on Jan 12, 2024

    @melvin-bot

    ✅ Contributor details stored successfully. Thank you for contributing to Expensify!

  12. 105 remaining items

  13. added
    Awaiting PaymentAuto-added when associated PR is deployed to production
    and removed on May 15, 2024
  14. kadiealexander commented on May 15, 2024

    @kadiealexander
    Contributor

    Since there was a regression, reducing the payment by 50% as per the contributing guidelines.

    Payouts due:

    Upwork job is here.

  15. changed the title [-][$1000] Room - Side panel does not close when clicking outside of panel[/-] [+][Payment due][$1000] Room - Side panel does not close when clicking outside of panel[/+] on May 15, 2024
  16. Krishna2323 commented on May 15, 2024

    @Krishna2323
    Contributor

    @danieldoglas @kadiealexander @hoangzinh, IMO there should be no reduction in payment since the regression was minor and we ended up doing nothing there. I have put a lot of effort into this issue, first in this PR, then in the second PR, and then I have invested a lot of time into the PR to fix the regression, which had no straightforward solution because we didn't want to create separate screens. See #38665 (comment). Pls correct me if I'm wrong here 🙃

  17. kadiealexander commented on May 15, 2024

    @kadiealexander
    Contributor

    @danieldoglas I'll let you decide if the regression penalty should apply here, as I don't have the technical understanding to know if the regression was true.

  18. danieldoglas commented on May 17, 2024

    @danieldoglas
    Contributor

    I agree we can't skip the reduction because of the effort applied.

  19. kadiealexander commented on May 20, 2024

    @kadiealexander
    Contributor

    Thanks Daniel!

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.DailyKSv2EngineeringExternalAdded 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