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

[Bug]: iOS PWA, amount gets focused but no keyboard pops up when adding new transaction #2392

Open
1 of 5 tasks
judge opened this issue Feb 24, 2024 · 10 comments · May be fixed by #4182
Open
1 of 5 tasks

[Bug]: iOS PWA, amount gets focused but no keyboard pops up when adding new transaction #2392

judge opened this issue Feb 24, 2024 · 10 comments · May be fixed by #4182
Labels
bug Something isn't working responsive Responsive/Mobile version user interface Related to the user interface

Comments

@judge
Copy link

judge commented Feb 24, 2024

Verified issue does not already exist?

  • I have searched and found no existing issue

Is this related to GoCardless, Simplefin or another bank-sync provider?

  • I have checked my server logs and could not see any errors there
  • I will be attaching my server logs to this issue
  • I will be attaching my client-side (browser) logs to this issue
  • I understand that this issue will be automatically closed if insufficient information is provided

What happened?

On iOS (either as a PWA or in Safari), when you tap New Transaction, the amount gets focused, but you cannot enter the amount because the keyboard does not appear. You have to unfocus and refocus the amount to be able to enter the amount. And then you cannot immediately focus on the payee or any other field. After you have entered the amount, if you tap on any of the next fields (payee or category), the amount gets unfocused first and then you have to tap again the field to select payee or category.

This flow makes entering transactions really slow and frustating. :( Is it possible to fix this? Thanks!

RPReplay_Final1708758501.mov

What error did you receive?

No response

Where are you hosting Actual?

Fly.io

What browsers are you seeing the problem on?

Safari

Operating System

Mobile Device

@judge judge added the bug Something isn't working label Feb 24, 2024
@Kidglove57
Copy link

I agree and indeed the mobile experience is still work in progress. I would be interested to know the reason for the current behaviour as I’m sure there is one, rather than an oversight.
You do get used to it and develop different muscle memory over time!

@joel-jeremy joel-jeremy added user interface Related to the user interface responsive Responsive/Mobile version labels Mar 4, 2024
@trevdor
Copy link
Contributor

trevdor commented Mar 8, 2024

  useEffect(() => {
    if (adding) {
      onTotalAmountEdit();
    }
  }, []);

https://github.com/actualbudget/actual/blob/master/packages/desktop-client/src/components/transactions/MobileTransaction.jsx#L492-L496

I see the convenience of the total amount being auto-focused if you intend to start by entering the amount.

Personally, though, I don't always start with Amount (for instance, if I've started the entry knowing the Payee/Category/etc but awaiting the total).
And right now the keyboard isn't showing on autofocus on iOS. (The first tap clears focus and a second tap triggers re-focus with the keyboard.)

❓ Does the keyboard show as expected on Android?

My preference would be to drop this useEffect and let folks tap any field for their first input, triggering the relevant keyboard.

Alternatively, I could see triggering the keyboard explicitly. Maybe manually firing focus of some kind on the <FocusableAmountInput>.

What do you think, @joel-jeremy?

@Teprifer
Copy link

Teprifer commented Mar 8, 2024

Android Firefox, keyboard appears as soon as the enter transaction page loads.

I think the auto selecting behaviour should remain, it's the first field on the page, and the amount is the one detail I'm actually trying to remember after having just made the purchase so it makes sense to enter it first.

@joel-jeremy
Copy link
Contributor

joel-jeremy commented Mar 26, 2024

This seems to be an issue with iOS (16 or lower) where programmatically focusing an element won't show the keyboard. It only shows when the focus is triggered by a user action: https://stackoverflow.com/a/74636176

@MarcAroni81
Copy link

This seems to be an issue with iOS (16 or lower) where programmatically focusing an element won't show the keyboard. It only shows when the focus is triggered by a user action: https://stackoverflow.com/a/74636176

At least it’s behaving the same in iOS 17.6 (latest)

@tatsumain
Copy link

On Android 14:

Chrome / Chrome PWA: keyboard does not show up on entering add a transaction page, focused on the amount
Firefox: keyboard does show and is focused on the amount. if I close the keyboard (or just try to tap on other fields) without entering an amount, focus stays on the amount.

@MarcAroni81
Copy link

This seems to be an issue with iOS (16 or lower) where programmatically focusing an element won't show the keyboard. It only shows when the focus is triggered by a user action: https://stackoverflow.com/a/74636176

At least it’s behaving the same in iOS 17.6 (latest)

Also confirmed on iOS18.1

My two Cents: I would also love to see it work that keyboard is automatically shown as soon as create a new transaction. (== to fix this bug)

Regarding the philosophy:
Maybe we should let the user decide how it should behave and offer a switch in the options area? Just one idea

@WojtekFus
Copy link

Confirmed on iOS 18.1 - I'm totally with MarcAroni81 on this one. The keyboard should open automatically to mirror the Android experience (also mirroring how nYNAB handles it). Reaching all the way to the top of the screen as a first step during entering a transaction is counter-productive, at least as a default action. Simple flow first - then adding option to customize the flow for advanced user would be a way to go IMHO.

Looking forward to the fix on this one - current state of the iOS Add Transaction flow is really tedious and buggy.

Having said that - I love Actual and I'm thankful for all the work done on the app. It's really an amazing solution and I'm happy to see it grow in such a agile manner recently. Kudos to the devs!

@danielkuhnen
Copy link

This is a known issue with Progressive Web Apps (PWAs) on iOS due to the limited support and specific quirks of Safari and WebKit. We have a couple of options to fix this:

  • Disable the focus on the amount (only in iOS). That way, the keyboard will open when we touch in the amount (user gesture), reducing one step (only one touch to open the keyboard instead of two now)
  • Try to forcefully trigger a click (maybe manually simulating a click event on the input can ensure the keyboard opens)

@dojoca
Copy link

dojoca commented Dec 10, 2024

Confirmed that this is happening on my device too - ios 18.1, iphone se 2020. Wish I could help fix it, I've recently switched over from YNAB4 and I love ActualBudget. Fantastic software!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working responsive Responsive/Mobile version user interface Related to the user interface
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants