Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HOLD for payment 2024-08-02] [HOLD for payment 2024-07-25] [$500] iOS - Room - Send message button stops functioning after leaving room #41780

Closed
1 of 6 tasks
lanitochka17 opened this issue May 7, 2024 · 65 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2

Comments

@lanitochka17
Copy link

lanitochka17 commented May 7, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 1.4.71.0
Reproducible in staging?: Y
Reproducible in production?: N
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. Open the app and log in
  2. Open a room or create one if you do not have any
  3. Send a message
  4. Tap the header > Leave
  5. Return to the room
  6. Send a message
  7. Tap the Join button and try sending message again

Expected Result:

The message is sent

Actual Result:

The send button does not function, user can't send a message until the room is opened again

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

Bug6473845_1715093604370.IMG_6761.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~010a06a1bd2e5e09eb
  • Upwork Job ID: 1789056197545811968
  • Last Price Increase: 2024-07-10
  • Automatic offers:
    • dominictb | Contributor | 103099455
Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @johncschuster
@lanitochka17 lanitochka17 added DeployBlockerCash This issue or pull request should block deployment DeployBlocker Indicates it should block deploying the API labels May 7, 2024
Copy link

melvin-bot bot commented May 7, 2024

Triggered auto assignment to @carlosmiceli (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

Copy link

melvin-bot bot commented May 7, 2024

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open Staging deploy checklist to see the list of PRs included in this release, then work quickly on the following:

  1. If you find which PR caused the issue/bug, you can reassign it to the person responsible for it.
    • If the author is OOO or won’t get online before the daily deploy is due, you are responsible for finding the best fix/path forward. Don’t hesitate to ask for help!
  2. Try to reproduce the issue, if the bug is on production, remove the DeployBlocker label but stay assigned to fix it (or find out which PR broke it to get help from the author).
    • You can adjust the urgency of the issue to better represent the gravity of the bug.
    • If the issue is super low priority, feel free to un-assign yourself.
    • Be careful with PHP warnings, sometimes it is more complex than just adding a null coalescing operator as they might be uncovering some bigger bug.
    • If it was a one-off issue that requires no action (for example, Bedrock was down or it is a duplicated issue), you can close it.

Remember rule #2: Never un-assign yourself from a real DeployBlocker unless you are 100% sure someone else is assigned and will take care of it.

Copy link
Contributor

github-actions bot commented May 7, 2024

👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

@lanitochka17
Copy link
Author

@carlosmiceli 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

@lanitochka17
Copy link
Author

We think that this bug might be related to #vip-vsp

@marcaaron
Copy link
Contributor

I'm kind of curious about the expected behavior here.

Tap the header > Leave
Return to the room

If you left the room should you be able to return to it so easily by navigating back? Maybe it should clear from the navigation stack?

I think we can remove the Deploy Blocker label for this one. I find it unusual that someone would leave a room and want to leave a message right after (though agree - it looks like a clear bug).

@carlosmiceli maybe you want to confirm the expected behavior somewhere like #product or tag in Design team to get a second opinion.

@marcaaron marcaaron added Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 and removed DeployBlockerCash This issue or pull request should block deployment Hourly KSv2 DeployBlocker Indicates it should block deploying the API labels May 7, 2024
Copy link

melvin-bot bot commented May 7, 2024

Triggered auto assignment to @johncschuster (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.

Copy link

melvin-bot bot commented May 7, 2024

Triggered auto assignment to @shawnborton (Design), see these Stack Overflow questions for more details.

@carlosmiceli
Copy link
Contributor

@marcaaron sounds great, Marc! Just added the Design label to get feedback on the expected functionality from design. Will move on to fixing it once we confirm how we want this to perform.

@shawnborton
Copy link
Contributor

Hmm I would think that if you leave a room, but you can still view the room, as soon as you send a message in that room you would re-join it. So I don't think we should block the send action from happening here. @Expensify/design what do you think?

@dubielzyk-expensify
Copy link
Contributor

Don't we have a banner at the bottom for rooms you haven't joined? Or is that just for public rooms outside your workspace? Would it be a dumb idea to have something similar? So when leave a room it just pops up with that banner, but when you join it removes and the compose bar comes in?

If I take your question directly though I agree that we shouldn't block the send action. Though it makes you think what even is joining a room at that point? Is it just that it shows up in your LHN, then that's okay I guess?

A question answered with more questions :P I could've missed something glaring here

@shawnborton
Copy link
Contributor

Don't we have a banner at the bottom for rooms you haven't joined?

We only have a banner for archived rooms or for rooms that you can't send a message in. But if you are viewing a room that you haven't joined but you have access too, you see the normal chat input UI.

So I think the idea here is that sending a message will automatically make you join (aka subscribe to) the room.

@carlosmiceli
Copy link
Contributor

Trying to gather everyone's thoughts here: it seems that we just need to decide between:

  • The user is able to go back to a room and message there after leaving it (therefore joining again). This is what the video shows that the user wanted to do.
  • The user shouldn't be able to go back a room that they leave right after leaving by navigating back. If the user wanted to leave a message in that room again, the user would have to find/join the room the standard way.

From my understanding of what @shawnborton is saying about why it should work like the first option, I lean towards that one and we should this as a bug that fixes/allows what the user is trying to do.

@dannymcclain
Copy link
Contributor

@carlosmiceli Yeah I agree.

@shawnborton
Copy link
Contributor

Yup, that's my understanding too.

@carlosmiceli
Copy link
Contributor

Great, will proceed to fix it that way then, thanks everyone!

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jul 22, 2024
@johncschuster
Copy link
Contributor

@carlosmiceli I think ^that's you! Can you take a look at the linked PR to see if it caused a regression?

@thesahindia
Copy link
Member

The PR was reverted. @dominictb, please look into it.

@dominictb
Copy link
Contributor

I'll create a PR tomorrow. It seems like the chat thread doesn't behaves the same way as workspace room, so we can remove isChatThread condition in my old PR.

@melvin-bot melvin-bot bot added Weekly KSv2 Daily KSv2 and removed Weekly KSv2 labels Jul 24, 2024
@johncschuster johncschuster added Weekly KSv2 and removed Daily KSv2 labels Jul 25, 2024
@johncschuster
Copy link
Contributor

Payment date is dependent on the deploy date of ^that PR 👍

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jul 26, 2024
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2024-07-25] [$500] iOS - Room - Send message button stops functioning after leaving room [HOLD for payment 2024-08-02] [HOLD for payment 2024-07-25] [$500] iOS - Room - Send message button stops functioning after leaving room Jul 26, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jul 26, 2024
Copy link

melvin-bot bot commented Jul 26, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

Copy link

melvin-bot bot commented Jul 26, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.12-0 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 2024-08-02. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jul 26, 2024

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@thesahindia] The PR that introduced the bug has been identified. Link to the PR:
  • [@thesahindia] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@thesahindia] A discussion in #expensify-bugs 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:
  • [@thesahindia] Determine if we should create a regression test for this bug.
  • [@thesahindia] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@johncschuster] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@johncschuster
Copy link
Contributor

@thesahindia can you complete the BZ Checklist? Once complete, go ahead and request payment!

@johncschuster
Copy link
Contributor

johncschuster commented Aug 2, 2024

Payment Summary:

Contributor: @dominictb paid $250 via Upwork - PAID 🎉
Contributor+: @thesahindia owed $250 via NewDot

@thesahindia
Copy link
Member

Currently, once the user clicks on Leave option in the room details page, navigateToMostRecentReport here is called. This means the report screen corresponding to that room has been removed from navigation stack. Hence, the user will need to find and rejoin the room (if they want) in the standard way.

We just changed the old logic. Which was intentional and wasn't a regression.

If we wanna add a test case, the steps are below -

  1. Go to a room
  2. Click on the header
  3. Leave the room
  4. Verify you are still at the room report screen
  5. Send a message
  6. Verify you are a member of the room again

@thesahindia
Copy link
Member

Payment Summary:

Contributor: @dominictb paid $500 via Upwork - PAID 🎉 Contributor+: @thesahindia owed $500 via NewDot

@johncschuster, there was a regression, so there will be a penalty, right?

@johncschuster
Copy link
Contributor

Thank you for calling that out, @thesahindia! You are correct!

@dominictb I accidentally issued the non-penalized amount of $500 via Upwork earlier. I've just sent a request for a refund for $250. I've also adjusted the payment summary above to reflect the payment amounts in light of the regression.

@dominictb
Copy link
Contributor

@johncschuster I've refunded the amount 👍

@johncschuster
Copy link
Contributor

Thank you, @dominictb ❤️

@johncschuster
Copy link
Contributor

Looks like the last step here is for @thesahindia to request payment. The payment summary is up to date. Please go ahead and request payment!

@JmillsExpensify
Copy link

$250 approved for @thesahindia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Engineering External Added to denote the issue can be worked on by a contributor Weekly KSv2
Projects
No open projects
Development

No branches or pull requests

10 participants