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][Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang #11321

Closed
mvtglobally opened this issue Sep 27, 2022 · 90 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review

Comments

@mvtglobally
Copy link

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


Action Performed:

  1. Open a chat -- even an empty one
  2. Just start typing a ton on the keyboard. Not copy/pasting, just finger-smash the keyboard for about 30s

Expected Result:

App should respond quickly

Actual Result:

After typing even a mildly long comment in the Android compose box, the whole app starts to hang.

Workaround:

unknown

Platform:

Where is this issue occurring?

  • Android

Version Number: 1.2.3-0
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
image - 2022-09-27T002415 487

Expensify/Expensify Issue URL:
Issue reported by: @JmillsExpensify @quinthar
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1663172358453739

View all open jobs on GitHub

@mvtglobally mvtglobally added AutoAssignerTriage Auto assign issues for triage to an available triage team member Daily KSv2 labels Sep 27, 2022
@melvin-bot
Copy link

melvin-bot bot commented Sep 27, 2022

Triggered auto assignment to @johncschuster (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

@melvin-bot melvin-bot bot added Overdue and removed AutoAssignerTriage Auto assign issues for triage to an available triage team member labels Sep 27, 2022
@johncschuster johncschuster removed their assignment Sep 29, 2022
@melvin-bot melvin-bot bot removed the Overdue label Sep 29, 2022
@melvin-bot
Copy link

melvin-bot bot commented Sep 29, 2022

Triggered auto assignment to @Beamanator (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@Beamanator
Copy link
Contributor

Beamanator commented Sep 30, 2022

Hmm I believe this should be able to be investigated by contributors so I'll make it External, but at the moment I'm having trouble reproducing - I logged in on my Android device, mashed the keyboard for a long time, didn't see any slowdown 🤔 It seems this might have to happen in a HT account, even thought it seems like @mvtglobally tried testing on a HT account already, right?

@Beamanator Beamanator added the External Added to denote the issue can be worked on by a contributor label Sep 30, 2022
@melvin-bot
Copy link

melvin-bot bot commented Sep 30, 2022

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

@melvin-bot
Copy link

melvin-bot bot commented Sep 30, 2022

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 30, 2022
@melvin-bot
Copy link

melvin-bot bot commented Sep 30, 2022

Current assignee @Beamanator is eligible for the External assigner, not assigning anyone new.

@melvin-bot melvin-bot bot changed the title After typing even a mildly long comment in the Android compose box, the whole app starts to hang [$250] After typing even a mildly long comment in the Android compose box, the whole app starts to hang Sep 30, 2022
@kadiealexander
Copy link
Contributor

@Beamanator I was able to repro this on an asus phone with android 12, but it took quite a long message (40k characters).

@kadiealexander kadiealexander added Weekly KSv2 and removed Daily KSv2 labels Oct 3, 2022
@quinthar
Copy link
Contributor

quinthar commented Oct 3, 2022

I am so confused, this is incredibly easy to reproduce with 100% consistency on my Pixel 5 within about 10 seconds. Just:

  1. Open the app and sign into an account (or create a new one)
  2. Open any chat, even a new one
  3. Just drum your fingers over the keyboard repeatedly
  4. After about 10s it should hang
  5. If that doesn't work, just find a long message, and hold down backspace -- then it'll quickly hang

Are you saying that those steps do not reproduce it for you?

@Beamanator
Copy link
Contributor

Hmm I'm on a Samsung Galaxy A72 and I followed your exact steps, didn't see anything hang or really slow down at all 🤷

@quinthar
Copy link
Contributor

quinthar commented Oct 3, 2022

Just did a fresh uninstall/reinstall on my Pixel 5, created a new account, and was able to reproduce in about 15 seconds:

image

The keyboard is still working in that I am still able to press keys, but the input box is hung and no new input actually goes into it. I suspect it has something to do with saving the draft too quickly? Do we batch changes to the draft, or save fresh with every keystroke?

@Beamanator
Copy link
Contributor

Interesting, I was able to reproduce on a Pixel 4 simulator! Though after mashing the keyboard of my Samsung Galaxy A72 for literally a minute, I still didn't see any slowdown 🤷

As for saving the draft to Onyx, it looks like we do debounce here:

this.debouncedSaveReportComment = _.debounce(this.debouncedSaveReportComment.bind(this), 1000, false);

That ^ debounce looks like it's working properly, so I'm not sure what else would be causing this, I think this should be part of the WhatsApp Quality project so I'll add it there

@melvin-bot melvin-bot bot added the Overdue label Oct 14, 2022
@Beamanator
Copy link
Contributor

Waiting on proposals, I think we can double this to make it more enticing @kadiealexander

@quinthar
Copy link
Contributor

quinthar commented Nov 17, 2022 via email

@quinthar
Copy link
Contributor

I'm curious if you have an ETA for when this workaround can be merged?

@melvin-bot melvin-bot bot added the Overdue label Nov 21, 2022
@melvin-bot
Copy link

melvin-bot bot commented Nov 21, 2022

@Beamanator, @hannojg, @sobitneupane, @kadiealexander Whoops! This issue is 2 days overdue. Let's get this updated quick!

@JmillsExpensify
Copy link

Closing the loop. PR is here. Discussion also happening in slack.

@Beamanator
Copy link
Contributor

Yep 👍 PR is approved, just need to get a quick change to our react-native fork published, then we can incorporate that change in App 👍

@melvin-bot melvin-bot bot removed the Overdue label Nov 21, 2022
AndrewGable pushed a commit to Expensify/react-native that referenced this issue Nov 21, 2022
This is a temporary addition to help circumvent a bug on android.
Long term we want to fix the root cause of the problem.

- RN issue: facebook#35350
- Expensify issue: Expensify/App#11321 (comment)
@mountiny mountiny added the Reviewing Has a PR in review label Nov 22, 2022
@mountiny
Copy link
Contributor

The PR has been merged 🎉 lets wait to see how this will perform in staging

@Beamanator Beamanator changed the title [HOLD PR #11684] [Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang [Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang Nov 22, 2022
@JmillsExpensify
Copy link

Looks like this is on production at this point. @quinthar Has mobile performance improved for this case?

@quinthar
Copy link
Contributor

quinthar commented Nov 27, 2022 via email

@JmillsExpensify
Copy link

Woo! Go team. @kadiealexander We should make sure that contributors and related are paid out before closing the issue. Thanks!

@kadiealexander

This comment was marked as off-topic.

@kadiealexander
Copy link
Contributor

The old Upwork job closed, so please apply here @hannojg and @sobitneupane and I'll issue payment for you both. :)

https://www.upwork.com/jobs/~015cde3e5ee4ee738f
https://www.upwork.com/ab/applicants/1597366602525372416/job-details

@hannojg
Copy link
Contributor

hannojg commented Nov 28, 2022

Sorry @kadiealexander, but I can't open any of those links 😅 can you help me get access to it? (I am part of #expensify-margelo and #expensify-open-source on slack)

@kadiealexander
Copy link
Contributor

Ah! To receive this bonus you may need to set up a profile in Upwork, which is how we typically pay our freelance contributors.

@sobitneupane
Copy link
Contributor

@kadiealexander I didn't review the proposal and PR. So, I am not eligible for payment.

@JmillsExpensify
Copy link

JmillsExpensify commented Nov 29, 2022

@kadiealexander I think we have some confusion here, sorry if I caused it. @hannojg is working with on a special engagement. And then it sounds like @sobitneupane did not review the linked PR, so when I say "make sure" I mainly meant let's double check we're all good here before closing.

@kadiealexander
Copy link
Contributor

@hannojg after internal discussion, you're eligible for the $500 bonus for this issue if you wish. You'll just need to create an Upwork profile to process the payment. Please let me know how you wish to proceed!

@kadiealexander kadiealexander changed the title [Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang [HOLD for payment][Bug] After typing even a mildly long comment in the Android compose box, the whole app starts to hang Nov 30, 2022
@kadiealexander
Copy link
Contributor

Discussing payment delivery here.

@hannojg
Copy link
Contributor

hannojg commented Dec 1, 2022

Payment is handled separately through a invoice by Margelo!

@mountiny
Copy link
Contributor

mountiny commented Dec 1, 2022

In that case we can close this one, nice job @hannojg!

@justinfauci
Copy link

@hannojg Thank you so much for your work on this, it solved a major problem we were having with our messenger for Android 13 devices.

@JmillsExpensify
Copy link

Woo! Thanks everyone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review
Projects
None yet
Development

No branches or pull requests