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

[$500] Document reproducible steps for "Characters missing when typing message in compose box" #34467

Closed
mallenexpensify opened this issue Jan 12, 2024 · 119 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 Help Wanted Apply this label when an issue is open to proposals by contributors

Comments

@mallenexpensify
Copy link
Contributor

mallenexpensify commented Jan 12, 2024

Coming from here in #expensify-open-source

Occasionally and apparently randomly, when typing in the compose box on NewDot, characters will disappear or be removed.

I've tried to document steps that can be reliably reproduced with no luck. If you're able to, post them and we'll compensate $250.

If needed, comment in here or on the linked Slack thread above.

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01cd323eccdbb4d53d
  • Upwork Job ID: 1745951741787557888
  • Last Price Increase: 2024-02-29
@mallenexpensify mallenexpensify added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Jan 12, 2024
@mallenexpensify mallenexpensify self-assigned this Jan 12, 2024
Copy link

melvin-bot bot commented Jan 12, 2024

Current assignee @mallenexpensify is eligible for the Bug assigner, not assigning anyone new.

@mallenexpensify mallenexpensify added the External Added to denote the issue can be worked on by a contributor label Jan 12, 2024
Copy link

melvin-bot bot commented Jan 12, 2024

Job added to Upwork: https://www.upwork.com/jobs/~01cd323eccdbb4d53d

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jan 12, 2024
Copy link

melvin-bot bot commented Jan 12, 2024

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

@mallenexpensify
Copy link
Contributor Author

@getusha I don't think your help is needed her so I've unassigned. If we need a C+ I'll add you back in.

@wildan-m
Copy link
Contributor

@mallenexpensify which platform was the last time it occurred? can you forward the mentioned Slack post to #expensify-open-source ? or cite the important info here

@Ahmed-Abdella
Copy link
Contributor

Hi, @mallenexpensify

I've identified the steps to replicate a bug related to keystrokes in the composer, happens when attempting to type while the composer is not focused. In the initial video, I attempted to type the word 'fight,' but it omitted the 'i' letter. This issue is not limited to a particular letter; it occurred for me with the second letter as well. It appears to be a bug associated with typing when the composer is not in focus."

  1. Lose focus on the composer
  2. Try typing fast and notice
  3. you need to type fast
Screen.Recording.2024-01-13.at.3.44.30.AM.mov

Another issue related to this and I think it has the same root cause

steps to reproduce

  1. Lose focus on the composer
  2. write only one letter

result
the letter will appear twice.
and if you noticed immediately after typing the letter it appears twice for a moment then disappear and then it appears twice

Screen.Recording.2024-01-13.at.3.45.15.AM.mov

@wildan-m
Copy link
Contributor

Here is my reproduction step. No need to type fast.

One

  1. Open report, and make sure the composer is focused and the text pointer blinking
  2. Press Tab, the focus will be on the emoji icon
  3. Type any character e.g. P

Two

  1. Open report, and make sure the composer is focused and the text pointer blinking
  2. Press Tab twice, the focus will be on the arrow icon
  3. Type any character e.g. P
Screen.Recording.2024-01-13.at.09.17.14.mov

@Ahmed-Abdella
Copy link
Contributor

this is the second issue in my comment and I didn't say you have to type fast in this
you don't have to press tab you just lose the focus on the composer by doing this. you did the same as my second issue

@wildan-m
Copy link
Contributor

@Ahmed-Abdella you didn't specify to which component the focus should be lost, I specified using the tab key and to emoji icon or arrow icon, I think that can be considered different

@Ahmed-Abdella
Copy link
Contributor

Sorry @wildan-m but it is not specific to any component it just happened when you type while the compose is not focused. emoji icon and arrow icon have nothing to do here. and they are not different.

@bernhardoj
Copy link
Contributor

FYI, the double character input is being handled here

@melvin-bot melvin-bot bot added the Overdue label Jan 15, 2024
@mallenexpensify
Copy link
Contributor Author

which platform was the last time it occurred?

I'm on Desktop, Mac app. I'm unsure if it happens on web, I'll try to use that more to test. Just did two tests on web with no luck (which isn't surprising because it's really hard for me to reproduce on desktop)

@Ahmed-Abdella , the issue you're running into is different. That's this GH issue coming from this Slack thread
That's a big pet peeve of mine, especially using chat switcher.

@wildan-m the issue we're wanting repro steps here for is specially for characters not being recognized when typing in the compose box (and not just at the very beginning of a chat). I haven't encountered the bug when using emoji or tabbing while in typing.

@melvin-bot melvin-bot bot removed the Overdue label Jan 15, 2024
@Ahmed-Abdella
Copy link
Contributor

Ahmed-Abdella commented Jan 16, 2024

the issue you're running into is different. That's #31286 coming from this Slack thread
That's a big pet peeve of mine, especially using chat switcher.

@mallenexpensify The issue you mentioned here is not the same as mine, The keystrokes are actually recorded and typed, but there is a delay in the process.

My issue is that keystrokes are not being recorded or typed. ( characters missing ) like the issue you descriped.
And this happens just when start typing while the composer is not focused.
And this didn't happen in the issue you mentioned, the delay happens even the composer is focused

@melvin-bot melvin-bot bot added the Overdue label Jan 18, 2024
@mallenexpensify
Copy link
Contributor Author

@Ahmed-Abdella can you elaborate on 'composer is not focused'?

I just had it happen... twice!
image
One hunch I have is that it happens more frequently after waking up your computer from sleeping, especially if the lid has been closed (I'm convinced there is a difference between putting your computer to sleep and closing the lid).

@melvin-bot melvin-bot bot removed the Overdue label Jan 18, 2024
@Ahmed-Abdella
Copy link
Contributor

@mallenexpensify just click outside the composer, and then start typing.
'composer is not focused' means that the composer doesn't have the green border, just click outside the composer, and start typing. like my first video above

This app feature shifts the focus to the composer when typing while the composer is not focused.

@wildan-m
Copy link
Contributor

Agree that the lost focus issue might be the same with #33710

Copy link

melvin-bot bot commented Jan 19, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Jan 19, 2024
@getusha
Copy link
Contributor

getusha commented Feb 22, 2024

@wildan-m it is delay 1 works well i don't see the need to modify the code to reproduce.

@wildan-m
Copy link
Contributor

@getusha I mean this part
Screenshot 2024-02-22 at 16 03 46

@getusha
Copy link
Contributor

getusha commented Feb 22, 2024

oh thanks, i didn't notice that.

Copy link

melvin-bot bot commented Feb 22, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@mallenexpensify
Copy link
Contributor Author

Me again!! Desktop is the worst it's ever been so I closed it and was testing on Web/Chrome. I was unable to reproduce on web, which makes me wonder if part of the issue is related to cache/cookies/storage or similar (not an engineer!).

Based on the above, I sent into our new Troubleshooting feature, I cleared cache and restarted and it's much better. I wasn't able to reproduce the missing characters... yet. Will report back if/when I'm able to.

image

@mallenexpensify
Copy link
Contributor Author

mallenexpensify commented Feb 22, 2024

Headsup if you decide to Clear cache and restart, you need to sign out/in after or else the app will be bricked (reported in #expensify-bugs)

@wildan-m
Copy link
Contributor

wildan-m commented Feb 23, 2024

@mallenexpensify have you tried reproducing it using a script? It can be difficult to manually hit the debounce interval accurately. I suggest adapting the script to your desired text and then using online tools like text-compare to compare the original and actual text. For example:

on run
	set textToType to "   In a world where gravity seems to defy its own rules, where the laws of physics bend and twist, our daring adventurer embarks on a journey filled with uncertainty. Armed with courage and a relentless spirit, the fearless explorer takes a leap of faith, uttering the word 'JUMP' with each bound. The echoing sound of determination reverberates through the vast expanse, as the quest unfolds into an epic tale of leaps, twists, and unforeseen challenges. Brace yourself for an adventure like no other, where each keystroke marks a moment in the extraordinary saga of boundless exploration."
	emulateTyping(textToType)
end run

on emulateTyping(textToType)
	tell application "System Events"
		repeat with i from 1 to count of characters of textToType
			set currentChar to character i of textToType
			keystroke currentChar
			delay 1
		end repeat
	end tell
end emulateTyping
 

Here is my result after trim the text (latest staging, google chrome, public room):

image

@mallenexpensify
Copy link
Contributor Author

I have not @wildan-m , @getusha can you give it a shot?

@melvin-bot melvin-bot bot added the Overdue label Feb 26, 2024
@wildan-m
Copy link
Contributor

@mallenexpensify I believe @getusha has validated the reproduction steps here. Right?

@getusha
Copy link
Contributor

getusha commented Feb 26, 2024

@mallenexpensify was able to repro after clear cache & restart, are you still unable to reproduce it?

@melvin-bot melvin-bot bot removed the Overdue label Feb 26, 2024
@mallenexpensify
Copy link
Contributor Author

@wildan-m , thanks, it does look like those are the repro steps. @tgolen , can you take a look since you're well-versed in the bug (and I'm not an engineer?

Ideally, I'm thinking:

  1. Confirm we have reliable reproduction steps
  2. Create a new issue with the steps, don't add the Help Wanted label, cross post here asking y'all to submit proposals in 48 hours before opening it up to others
  3. Discuss compensation for this issue.
  4. Pay then Close this issue
  5. Bug gets fixed in other issue 🎉

@mallenexpensify
Copy link
Contributor Author

@tgolen
Copy link
Contributor

tgolen commented Feb 26, 2024

Yes, I think the reproduction has been identified really well. I like your plan of action to move forward.

@mallenexpensify
Copy link
Contributor Author

New issue created if you'd like to submit a proposal, price is $500

I propose we pay @getusha $500 for C+
@getusha , can you propose what you think is fair payment for the contributor/s here? Thx.

@getusha
Copy link
Contributor

getusha commented Feb 28, 2024

@wildan-m - 75%, first provided working reproduction steps, which we then followed.
@jeremy-croff - 25% provided working alternative reproduction steps #34467 (comment), which can be helpful latter.

@mallenexpensify i think this is fair, lmk what you think

Copy link

melvin-bot bot commented Feb 29, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@melvin-bot melvin-bot bot added the Overdue label Mar 1, 2024
@mallenexpensify
Copy link
Contributor Author

Thanks @getusha , I like the breakdown and the two ❤️ from the contributors make me think they're 👍 with it too.
@wildan-m , @jeremy-croff can you please apply here and I'll hire you?
https://www.upwork.com/jobs/~01cd323eccdbb4d53d

Personally.. I'd like to thank everyone here. This issue has been hella frustrating for me for many weeks. Also, I'm planning to implement a process for how to create 'document reproducible steps' issues in the future, since we have quite a few.

@melvin-bot melvin-bot bot removed the Overdue label Mar 2, 2024
@wildan-m
Copy link
Contributor

wildan-m commented Mar 2, 2024

@mallenexpensify applied. Thank you!

@mallenexpensify
Copy link
Contributor Author

Thanks @wildan-m and @jeremy-croff , can you please accept the job and reply here once you have?
upwork.com/jobs/~01cd323eccdbb4d53d

@jeremy-croff
Copy link
Contributor

jeremy-croff commented Mar 4, 2024

Thanks @wildan-m and @jeremy-croff , can you please accept the job and reply here once you have?

upwork.com/jobs/~01cd323eccdbb4d53d

I also applied yesterday! Thanks

@wildan-m
Copy link
Contributor

wildan-m commented Mar 4, 2024

@mallenexpensify accepted the offer. Thanks

@mallenexpensify
Copy link
Contributor Author

mallenexpensify commented Mar 4, 2024

Contributor: @wildan-m paid $375 via Upwork
Contributor: @jeremy-croff paid $125 via Upwork
Contributor+: @getusha paid $500 via Upwork.

@getusha can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~01cd323eccdbb4d53d

@getusha
Copy link
Contributor

getusha commented Mar 4, 2024

@getusha can you please accept the job and reply here once you have?

@mallenexpensify accepted

@mallenexpensify
Copy link
Contributor Author

@getusha paid, payment breakdown above is updated.

Thanks everyone!!! I particularly hate this bug, and it just happened to me two mins ago.

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 Help Wanted Apply this label when an issue is open to proposals by contributors
Projects
None yet
Development

No branches or pull requests

10 participants