terrychou / iVim

A vim port to iOS.
601 stars 34 forks source link

Difficult to close the startup pop up: IAP Feature(s) #221

Open duianto opened 2 years ago

duianto commented 2 years ago

The first start pop up: IAP Feature(s) Is difficult to close. Because the keyboard hides the pop ups buttons.

https://user-images.githubusercontent.com/13420573/145685556-dac1c469-49a1-46dc-b997-98fa497e128b.MOV

To be able to use this app. The pop ups button: "Disable for now" has to be tapped quickly, before the keyboard opens.

The issue remained after reinstalling the app once.

But while this issue was being written, then the app was reinstalled again.

And this time the keyboard didn't open on the first launch.

But the issue wasn't fixed by reinstalling, because the keyboard still opens above the pop up buttons sometimes.

It's not clear how to reproduce it, but eventually after force closing iVim, and opening and using other apps, then the keyboard opens in front of the pop ups buttons, the next time iVim is started.

System info iVim 2.44 iOS 15.1 (19B74) iPhone X

terrychou commented 2 years ago

The keyboard is supposed to hide when this alert shows.

Does the latest update (version 2.45) solve this problem?

Could you try and force quit iVim (via the multi-tasks UI) to see whether it helps?

duianto commented 2 years ago

The same issue is observed in 2.45.

https://user-images.githubusercontent.com/13420573/147399882-8da39da9-13d7-4b18-9f46-f697ec90ee3d.MOV

Force closing once, didn't help, the keyboard still opened, in front of the pop ups buttons.

Force closing a second time, worked. This time the keyboard didn't open.

And the keyboard seems to stay hidden when force closing and reopening iVim.

But, when iVim is force closed, and other applications are opened, or if one waits a couple of minutes.

Then the keyboard opens again, and hides the pop up's buttons the next time iVim is started.

This is just a guess. Maybe iOS garbage collects, a force closed app, after a while, or if the other apps need more memory.

This might forget an apps previous keyboard open/close state.

And the keyboard state is set, the same way as the first time the app was opened.

Example 1: iVim was force closed before writing this comments first three or four paragraphs, in the iOS GitHub app.

Then iVim was opened again, and the keyboard opened in front of the pop ups buttons.

Force closing and reopening iVim. Opened it with the keyboard hidden.

Example 2: The iPhones auto-lock, is set to 3 minutes, in: Settings > Display & brightness

iVim was force closed. And the iPhone wasn't touched until the screen dimmed (before it's about to turn off the screen).

The screen was tapped to un-dimm.

Then iVim was opened, and the keyboard opened in front of the pop ups buttons.

Example 3: Force close iVim Open a game that takes a couple of seconds to start. Return to the iOS Home Screen. (The game doesn't need to be force closed) Open iVim. The keyboard hides the pop ups buttons.

Now this can be repeated. Force close iVim. Open the game. Return to the iOS Home Screen. Open iVim. The keyboard hides the pop ups buttons.

duianto commented 2 years ago

Version 2.51

The IAP feature dialog buttons are now accessible on startup.

The keyboard does open and close twice on startup, but then it remains closed.

I noticed that there's a recent thread about the same issue. https://github.com/terrychou/iVim/issues/240

If the author of issue 240 confirms that the keyboard closes on startup then both of these issues can be closed.

Here's a screen recording of what it looks like:

A dialog appears: "iVim" Would Like to Send You Notifications

The keyboard with the top bar appears behind the dialog.

The keyboard fades away.

It's hard to tell but for a frame or two in the recording the text: IAP Feature(s) Is barely visible above the dialog about allowing notifications. (See the screenshot below the recording)

It seems like the IAP Feature(s) dialog tried to open but it closes since there already is an active dialog open.

The keyboard without the top bar fades in.

Then the top bar slides up, and at the same time both the keyboard and top bar fades away.

Pressing "Don't Allow" on the send notifications dialog, closes it.

Then the IAP Feature dialog opens and then keyboard remains closed.

The keyboard opens with the top bar, then it quickly closes.

Then the IAP Feature dialog appears.

The keyboard fades in without the top bar. In front of the IAP dialog.

Then the top bar slides up, and at the same time both the keyboard and top bar fades away.

Screen recording

https://user-images.githubusercontent.com/13420573/178930753-d3f05902-2795-4f59-a5d4-8a115d45aa61.MOV

Screenshot, with faint IAP Feature(s) text above the send notification dialog.

image

Expected Ideally the keyboard shouldn't open at all until the dialogs have been closed and iVim is ready for keyboard input.

Maybe iOS detects that iVim has a text input field on startup, and assumes that the keyboard should be opened.

Maybe the text input field could be disabled until the dialogs are closed. Or until the "VIM - Vi IMproved" text appears and is tapped the first time.

It's just a cosmetic issue, the keyboard opening and closing looks a little glitchy.

But the main issue seems to have been solved. The IAP dialog buttons are not blocked anymore.

Thanks