woocommerce / woocommerce-ios

WooCommerce iOS app
https://www.woocommerce.com/mobile
GNU General Public License v2.0
298 stars 110 forks source link

[Shipping Label Creation] Distracting keyboard hide/restore when entering data into "Required" inputs. #7987

Open pachlava opened 1 year ago

pachlava commented 1 year ago

Describe the bug

When the data for a given screen is missing, the merchant will be asked to fill it. Once the focus is set into the empty input, the keyboard is shown and the first character is entered, the keyboard will be hidden and showed again. It looks like this is so only for Required fields, and not true for Optional ones. It interrupts the process a lot, and I'd expect it to be quite frustrating for the merchant. Video for Ship to screen:

https://user-images.githubusercontent.com/73365754/198989359-43611544-fd26-408c-a49b-593b329cba3c.MP4

The same will happen for Ship from screen.

To Reproduce

  1. Initiate Shipping Label Creation flow
  2. On the very first screen (Ship from) erase the content from any required field (e.g. Name)
  3. Enter the first character and observe the described issue

Expected behavior Same behaviour as for Optional fields in the flow.

Mobile Environment Please include:

itsmeichigo commented 1 year ago

Thanks for raising this issue! We have a bit of a workaround to handle the form validation when there's a change to the state of the form. It didn't cause an apparent glitch on iOS 15, but seems like it does now on iOS 16.

We'll need to come up with a more subtle way to handle the form validation then.

joshheald commented 7 months ago

This causes greater issues with the split view for Orders. When the keyboard disappears while you're typing, it's easy to accidentally select another order in the list, which results in losing the progress on the shipping form.

@itsmeichigo have you had any thoughts on how this could be improved, by any chance?

Context: pdfdoF-4C0-p2#comment-5728