Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.54k stars 2.89k forks source link

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

Closed mallenexpensify closed 8 months ago

mallenexpensify commented 10 months ago

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
melvin-bot[bot] commented 10 months ago

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

melvin-bot[bot] commented 10 months ago

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

melvin-bot[bot] commented 10 months ago

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

mallenexpensify commented 10 months ago

@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 commented 10 months ago

@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 commented 10 months ago

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

https://github.com/Expensify/App/assets/77763699/6c667944-042a-473b-8bec-217cc64a5828

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

https://github.com/Expensify/App/assets/77763699/1228070f-db23-4492-a5ba-37e3ceb17ac6

wildan-m commented 10 months ago

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

https://github.com/Expensify/App/assets/11847279/c32e5cc1-ca89-4d9a-a3c0-7e2d7d722c50

Ahmed-Abdella commented 10 months ago

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 commented 10 months ago

@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 commented 10 months ago

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 commented 10 months ago

FYI, the double character input is being handled here

mallenexpensify commented 10 months ago

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.

Ahmed-Abdella commented 10 months ago

the issue you're running into is different. That's https://github.com/Expensify/App/issues/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

mallenexpensify commented 9 months ago

@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).

Ahmed-Abdella commented 9 months ago

@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 commented 9 months ago

Agree that the lost focus issue might be the same with https://github.com/Expensify/App/issues/33710

melvin-bot[bot] commented 9 months ago

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

melvin-bot[bot] commented 9 months ago

❌ There was an error making the offer to @getusha for the Contributor role. The BZ member will need to manually hire the contributor.

mallenexpensify commented 9 months ago

Thanks @Ahmed-Abdella , I didn't know I could click outside of the compose box, start typing, then have text show up in the compose box. When I tried that, I did notice that characters were missing, very often the second character (or... one of the first). Do you think this is related to characters randomly not being recognized after someone has been typing for a while (and not navigating outside of the compose box at all)?

@getusha bringing you back in for 👀 and help plz

mallenexpensify commented 9 months ago

Another thought/idea/consideration. I've def noticed that it sometimes takes a second for a keystroke to be recognized and appear. I wonder if the bug where characters are missing is related to characters not immediately showing up then there's some sort of 'override' where, instead of adding the missing keystroke, NewDot skips it and shows the next letter you typed.

getusha commented 9 months ago

This issue is probably related to the composer being unfocused, yet the green border is displayed. I am trying to reproduce it.

mallenexpensify commented 9 months ago

What makes me think it's NOT related to the compose box being unfocused is that the bug often happens while I'm in the middle of typing a lot of text, when I'm focused (and actively typing) in the compose box. Here's an example that just happened. I never left focus when typing this yet the sp at the end, where I typed spot don't show

image

Maybe something is happening in the background that's causing the glitch, what kind of events would be occuring while someone is typing in the compose box?

Ahmed-Abdella commented 9 months ago

I am not sure, but It can be the same root cause.

wildan-m commented 9 months ago

@mallenexpensify, has anyone else experienced this issue? Have you tried using another keyboard? If you're using a wireless one, there might be a delay or a hardware issue with the keyboard.

mallenexpensify commented 9 months ago

Not sure if linked before but @tgolen is also experiencing. Slack chat here in #expensify-bugs

I'm using the native keyboard on mac. The issue is persistent on native and the same on wireless apple keyboard. It's been happening for many weeks and it's happened 100+ times for me. The weirdest part is that the timing of when it happens is totally random to me. I can type 100 characters fine then one will get missed. Other times, like mentioned above, it'll happen near the beginning of composing a chat.

tgolen commented 9 months ago

Yeah, I just had this happen again last week, totally out of the blue. Mine was in the middle of a two-sentence comment. I use staging/web with an external keyboard (that is hard-wired through a docking station). It seems to happen much more rare now.

If it was a hardware or keyboard issue, I would expect the problem to show up in any application, but it only happens to NewDot, so I do not think it is hardware related.

tgolen commented 9 months ago

OK, I just had it happen twice for me today, and I think I figured something out. I think it's related to the chat history loading. For example, this was the flow that caused a noticeable glitch for me:

  1. Access a chat you haven't opened for a while (and therefore a lot of history has to be loaded)
  2. While the chat is loading, begin typing your comment
  3. Once the chat finishes loading, all I had typed so far just disappeared (about a full word or two)

I suspect this can happen on a smaller scale with chats you visit frequently where something having to do with the chat loading ends up destroying some of what you've typed.

tgolen commented 9 months ago

Note: I cannot reliably reproduce this, even if I throttle my network to 3G speed :(

mallenexpensify commented 9 months ago

I've also experienced it, at least, twice today. One, I think, was at/after tapping the delete key. What I find interesting is it semi-frequently happens after I've typed a couple sentences, 100+ character. After the initial load of a chat, are we periodically fetching or checking for more data?

mallenexpensify commented 9 months ago

I was able to capture the bug in action. In the vid, I typed blurps and the b was removed or not recognized.

Also, bumped the post in #expensify-open-source and shared with the room, and.... with the vid.

https://github.com/Expensify/App/assets/22508304/c5998f49-d786-489a-9481-a2675e07f557

melvin-bot[bot] commented 9 months ago

@mallenexpensify @getusha this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

mallenexpensify commented 9 months ago

Only though, related to example above is to do another test and have the console open and see if can sync the time of the bug with something showing in the console. Will try next week.

IF anyone needs access to a high traffic workspace to test, drop your email in here and I'll add ya

wildan-m commented 9 months ago

@mallenexpensify count me in please, wildevemail+1@gmail.com is it different with high-traffic accounts?

mallenexpensify commented 9 months ago

Added @wildan-m ! Not sure when/how you get access, please confirm here once you have (it's a google form I fill out)

wildan-m commented 9 months ago

@mallenexpensify Is it the WS? seems like a typical workspace, what are the differences?

image
melvin-bot[bot] commented 9 months ago

@mallenexpensify, @getusha Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

mallenexpensify commented 9 months ago

@mallenexpensify Is it the WS? seems like a typical workspace, what are the differences?

@wildan-m , yes it is. I think the difference is that there are a ton of members and chats on the WS, even though it's not visible to you (Which I don't quite understand, I only see a few members in there and you're not one of them. Do you see mallen@expensifail.com listed anywhere? )

image
tgolen commented 9 months ago

I think the problem is getting slightly worse. Today I was typing the word "that". I saw it erase the first t and then place it behind the h so I ended up with htat. I know that I'm normally not the best speller, but I do know the difference between me making a typo mistake, and something funky happening in a text input that changes my input into a typo.

This is slightly different than what I was previously seeing where the t would have simply been gone.

mallenexpensify commented 9 months ago

I was noticing yesterday that backspace and space might be more common too. I just did a couple tests and recorded vid where the console showed, but was unable to reproduce. This is what I saw in the console while I typed a few hundred characters.

image
tgolen commented 9 months ago

Matt, do you use Grammerly at all? I do, and I had a thought that this could possibly be the culprit. I'm going to disable it and see if I notice any difference.

On Wed, Feb 7, 2024 at 11:41 AM Matt Allen @.***> wrote:

I was noticing yesterday that backspace and space might be more common too. I just did a couple tests and recorded vid where the console showed, but was unable to reproduce. This is what I saw in the console while I typed a few hundred characters. image.png (view on web) https://github.com/Expensify/App/assets/22508304/c3462e3b-f5d6-40be-b1b2-2e6594173a0f

— Reply to this email directly, view it on GitHub https://github.com/Expensify/App/issues/34467#issuecomment-1932653537, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMAB4ZBP3YSWZD6YPVL6TYSPDF3AVCNFSM6AAAAABBY25OUGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZSGY2TGNJTG4 . You are receiving this because you were mentioned.Message ID: @.***>

melvin-bot[bot] commented 9 months ago

Upwork job price has been updated to $500

mallenexpensify commented 9 months ago

I don't use Grammarly, is yours software on your computer or a chrome extension? I use Desktop 99% of the time and that's where I experience it.

Tim was able to reproduce while testing something out, see the ? disappear at the end of the vid below.

https://github.com/Expensify/App/assets/22508304/2425e563-cebc-4578-9681-e26853d9dd57

melvin-bot[bot] commented 9 months ago

@mallenexpensify @getusha this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

Thanks!

melvin-bot[bot] commented 9 months ago

Current assignee @getusha is eligible for the Internal assigner, not assigning anyone new.

melvin-bot[bot] commented 9 months ago

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

mallenexpensify commented 9 months ago

Had it happen at least twice today. Tried to capture in vid with logs but....not luck. Bumping back to External and help wanted.

jeremy-croff commented 9 months ago

@mallenexpensify I'm able to consistently reproduce. With the help of Emoji's as they require more parsing and slow down the chat more.

https://github.com/Expensify/App/assets/157416545/0b894855-1c50-4740-9ab3-357797967e12

Documented steps: Go to Composer type 123, select emoji type 123 select emoji -> send repeat

What makes me think this is the use case, is that it also shows the character (emoji) before deleting it by itself. Technically this is possible on any value text input with a controlled value prop, depending on lag

Also! the pattern is so weird. check the last emojis. Miss Miss, Emoji Emoji, Miss Miss, Emoji Emoji Where misses are when it deletes it

Ahmed-Abdella commented 9 months ago

@mallenexpensify I'm able to consistently reproduce. With the help of Emoji's as they require more parsing and slow down the chat more.

cursor.issue.mov Documented steps: Go to Composer type 123, select emoji type 123 select emoji -> send repeat

What makes me think this is the use case, is that it also shows the character (emoji) before deleting it by itself. Technically this is possible on any value text input with a controlled value prop, depending on lag

Also! the pattern is so weird. check the last emojis. Miss Miss, Emoji Emoji, Miss Miss, Emoji Emoji Where misses are when it deletes it

"This is a follow-up to the focus issue I previously discussed. When you click on the Emoji picker to open the emojis, it causes you to lose focus on the composer. As a result, when you start typing the emoji, you may miss the character or emoji you intended to type since the composer is not focused."

Ahmed-Abdella commented 9 months ago

I think the problem is getting slightly worse. Today I was typing the word "that". I saw it erase the first t and then place it behind the h so I ended up with htat. I know that I'm normally not the best speller, but I do know the difference between me making a typo mistake, and something funky happening in a text input that changes my input into a typo.

This is slightly different than what I was previously seeing where the t would have simply been gone.

@tgolen I can confirm this, Happened alot for me

jeremy-croff commented 9 months ago

@mallenexpensify I'm able to consistently reproduce. With the help of Emoji's as they require more parsing and slow down the chat more.

cursor.issue.mov

Documented steps: Go to Composer type 123, select emoji type 123 select emoji -> send repeat

What makes me think this is the use case, is that it also shows the character (emoji) before deleting it by itself. Technically this is possible on any value text input with a controlled value prop, depending on lag

Also! the pattern is so weird. check the last emojis. Miss Miss, Emoji Emoji, Miss Miss, Emoji Emoji Where misses are when it deletes it

"This is a follow-up to the focus issue I previously discussed. When you click on the Emoji picker to open the emojis, it causes you to lose focus on the composer. As a result, when you start typing the emoji, you may miss the character or emoji you intended to type since the composer is not focused."

What makes you consider this a focus issue? The composer seems focused throughout the bug. Additionally it is rendering the emoji in the composer, and then deleting it. If it was unfocused it wouldn't render the emoji in the composer to begin with.