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

change(web): rotation polish - OSK reload no longer needed 🍒 #7188

Merged
merged 3 commits into from
Oct 16, 2022

Conversation

darcywong00
Copy link
Contributor

@darcywong00 darcywong00 commented Sep 2, 2022

🍒 pick of #6787 and #6979 and fixes #7169 to stable-15.0 (16.0 master already contains the fix)

User Testing

Test environments

  • GROUP_IOS - any iOS device should suffice
  • GROUP_ANDROID - any Android device should suffice

Tests

  • TEST_INAPP_ROTATE_P-TO-L:

    1. With Keyman not active, load it in a portrait orientation.
    2. Once loaded, rotate the device to a landscape orientation.
      • The test "passes" if the OSK rotates properly.
  • TEST_INAPP_ROTATE_L-TO-P:

    1. With Keyman not active, load it in a landscape orientation.
    2. Once loaded, rotate the device to a portrait orientation.
      • The test "passes" if the OSK rotates properly.
  • TEST_BROWSER_ROTATE_P-TO-L:

    1. Before loading the test page, have the device in a portrait orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Open the language menu, but do not change keyboards.
    5. Once loaded, rotate the device to a landscape orientation.
      • The test "passes" if the OSK rotates properly.
      • The test "fails" if the OSK is not visible after rotation.
  • TEST_BROWSER_ROTATE_L-TO-P:

    1. Before loading the test page, have the device in a landscape orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Open the language menu, but do not change keyboards.
    5. Once loaded, rotate the device to a portrait orientation.
      • The test "passes" if the OSK rotates properly.
      • The test "fails" if the OSK is not visible after rotation.
  • TEST_ANDROID_SHIFT_AFTER_GLOBE: Verifies fix to bug(android): At start of input, pressing globe key, going back, leads to stuck shift key #7169

    1. Load the PR build of Keyman for Android
    2. In the Keyman app with the default sil_euro_latin keyboard, the keyboard should be at start-of-sentence
    3. Verify the OSK starts in the Shift layer (note, suggestions may appear in lowercase)
    4. Press the globe key, then exit the Keyboard picker menu
    5. Verify the OSK is still in the Shift layer
    6. Press the Shift button and verify the OSK switches to the default layer

(edit) Additional user tests from #6979

SUITE_ROTATION

Test environments

  • GROUP_IOS_PHONE - any modern iOS phone should suffice
  • GROUP_IOS_TABLET - any modern iOS tablet should suffice
  • GROUP_OLD_IOS - try to find an iOS 12 or iOS 13 device to test with
  • GROUP_ANDROID_PHONE - any modern Android phone should suffice
  • GROUP_ANDROID_TABLET - any modern Android tablet should suffice
  • GROUP_ANDROID_7 - run tests against early Android if possible (Android 7.0)

Tests

  • TEST_OSK_PORTRAIT_LOAD:

    1. Before loading the test page, have the device in a portrait orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Report on the appearance of the OSK. Does it seem reasonably positioned and sized? No cropping issues?
  • TEST_OSK_LANDSCAPE_LOAD:

    1. Before loading the test page, have the device in a landscape orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Report on the appearance of the OSK. Does it seem reasonably positioned and sized? No cropping issues?
  • TEST_BROWSER_ROTATE_P-TO-L:

    1. Before loading the test page, have the device in a portrait orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Open the language menu, but do not change keyboards.
    5. Once loaded, rotate the device to a landscape orientation.
      • The test "passes" if the OSK rotates properly.
      • The test "fails" if the OSK is not visible after rotation.
  • TEST_BROWSER_ROTATE_L-TO-P:

    1. Before loading the test page, have the device in a landscape orientation.
    2. Load the KeymanWeb testing page "Test unminified Keymanweb".
    3. Select the top text area in order to display the OSK.
    4. Open the language menu, but do not change keyboards.
    5. Once loaded, rotate the device to a portrait orientation.
      • The test "passes" if the OSK rotates properly.
      • The test "fails" if the OSK is not visible after rotation.

@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed labels Sep 2, 2022
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Sep 2, 2022

User Test Results

Test specification and instructions

  • ✅ GROUP_IOS: - any iOS device should suffice

    5 tests PASSED
    • TEST_INAPP_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
    • TEST_INAPP_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 15.0 / iPhone 13 Pro Simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_ANDROID_SHIFT_AFTER_GLOBE (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and verified that the OSK switches to the default layer.
  • ✅ GROUP_ANDROID: - any Android device should suffice

    5 tests PASSED
    • TEST_INAPP_ROTATE_P-TO-L (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
    • TEST_INAPP_ROTATE_L-TO-P (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
    • TEST_ANDROID_SHIFT_AFTER_GLOBE (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK switches to the default layer.

🟥 SUITE_ROTATION:

  • ✅ GROUP_IOS_PHONE: - any modern iOS phone should suffice

    4 tests PASSED
    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPhone 14 Pro max simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPhone 14 Pro max simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPhone 14 Pro max simulator and the OSK rotates properly. (notes)
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPhone 14 Pro max simulator and the OSK rotates properly. (notes)
  • ✅ GROUP_IOS_TABLET: - any modern iOS tablet should suffice

    4 tests PASSED
    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPad Pro 3 generation simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPad Pro 3 generation simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPad Pro 3 generation simulator and the OSK rotates properly. (notes)
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 16.0 / iPad Pro 3 generation simulator and the OSK rotates properly. (notes)
  • 🟥 GROUP_OLD_IOS: - try to find an iOS 12 or iOS 13 device to test with

    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 12.4 / iPhone 7 Simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 12.4 / iPhone 7 Simulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 12.4 / iPhone 7 Simulator and the OSK rotates properly. (notes)
    • 🟥 TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested with the build off of this PR: (notes)
  • ✅ GROUP_ANDROID_PHONE: - any modern Android phone should suffice

    4 tests PASSED
    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in my Android Mobile device Version 11.0 and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in my Android Mobile device Version 11.0 and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested with Android 12 (API 31), the keyboard is shown OK after rotating to landscape. (notes)
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in my Android Mobile device Version 11.0 and the OSK rotates properly. (notes)
  • ✅ GROUP_ANDROID_TABLET: - any modern Android tablet should suffice

    4 tests PASSED
    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in Pixel C API 31 / Android 12.0 and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in Pixel C API 31 / Android 12.0 and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in Pixel C API 31 / Android 12.0 and verified the appearance of the OSK and it rotates properly. (notes)
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in Pixel C API 31 / Android 12.0 and verified the appearance of the OSK and it rotates properly. (notes)
  • ✅ GROUP_ANDROID_7: - run tests against early Android if possible (Android 7.0)

    4 tests PASSED
    • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues. (notes)
    • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it rotates properly. (notes)
    • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it rotates properly. (notes)
Retesting Template
@keymanapp-test-bot retest SUITE_ROTATION GROUP_OLD_IOS TEST_BROWSER_ROTATE_L-TO-P

@darcywong00 darcywong00 added this to the A16S9 milestone Sep 2, 2022
@mcdurdin mcdurdin modified the milestones: A16S9, A16S10 Sep 5, 2022
@darcywong00 darcywong00 marked this pull request as ready for review September 6, 2022 02:40
Copy link
Contributor

@jahorton jahorton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@@ -59,13 +61,37 @@ namespace com.keyman.osk {
s.position = 'fixed';
}

protected postKeyboardLoad() {
// Initializes the size of a touch keyboard.
public refreshLayout(pending?: boolean): void {
Copy link
Contributor

@jahorton jahorton Sep 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main difference is that I see we didn't 🍒 the @override annotation; this is reflected by three less added lines in the lines-changed count.

There's also a dropped newline at line 70 compared to the original - that's the one additional line-change difference of note. The rest seems to match.

@jahorton jahorton changed the title change(web): rotation polish - OSK reload no longer needed change(web): rotation polish - OSK reload no longer needed 🍒 Sep 6, 2022
@bharanidharanj
Copy link

GROUP_IOS: - any iOS device should suffice

  • TEST_INAPP_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
  • TEST_INAPP_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
  • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK rotates properly.
  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK appears partially on the Screen.
  • TEST_ANDROID_SHIFT_AFTER_GLOBE (PASSED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and verified that the OSK switches to the default layer.

@bharanidharanj
Copy link

GROUP_ANDROID: - any Android device should suffice

  • TEST_INAPP_ROTATE_P-TO-L (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
  • TEST_INAPP_ROTATE_L-TO-P (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
  • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
  • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK rotates properly.
  • TEST_ANDROID_SHIFT_AFTER_GLOBE (PASSED): Tested this with the attached PR build (Keyman 15.0.270-test-7188) in my Android Mobile device Version 11.0 and verified that the OSK switches to the default layer.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Sep 6, 2022
@mcdurdin mcdurdin added the cherry-pick Change already merged into another (stable) branch label Sep 12, 2022
@mcdurdin mcdurdin modified the milestones: A16S10, A16S11 Sep 17, 2022
@mcdurdin
Copy link
Member

  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK appears partially on the Screen.

@jahorton and @darcywong00 can you review this issue?

@jahorton
Copy link
Contributor

jahorton commented Sep 19, 2022

  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested this with the attach PR build (15.0.270-test-7188) in iOS 15.5 / iPhone 13 Pro max simulator and the OSK appears partially on the Screen.

@jahorton and @darcywong00 can you review this issue?

I am able to reproduce the test failure on my personal iPhone, though not in Chrome emulation.

For comparison, and to ensure that it isn't broken on master, I double-checked on the same device using the test build product from #7142, which includes the already-merged 16.0-alpha version of these changes. (I double-checked that aspect - that the changes are there - as well.)

This test result does not reproduce on 16.0-alpha; somehow, there's... something different that's specific to 15.0-stable. What "something"? Good question! That'll take time to investigate.

The most obvious thing to note for investigation: the 16.0-alpha version landed in 16.0.43. Since the tests were passed then, chances are that the divergence is due to a change on 16.0-alpha before that point. Such a change would (naturally) have been missed by this cherrypick since we didn't know it to be related.

@jahorton
Copy link
Contributor

jahorton commented Sep 19, 2022

Well, that's probably related: we should probably cherry-pick the "patch PR" followup as part of this, too. See #6979.

The original version had similarly-noted test issues, but since it'd already undergone significant review at the time, I made a "patch PR" that could be reviewed separately, in case reviewers didn't like the "patch" changes. It was fine and got included, but there's something noteworthy about how it got merged:

image

Copy link
Contributor

@jahorton jahorton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, right. Noting my prior comment, I'm requesting that the changes from #6979 be included in this 🍒-pick, as that should address the failed unit test.

@bharanidharanj
Copy link

bharanidharanj commented Sep 20, 2022

SUITE_ROTATION:

GROUP_ANDROID_7: - run tests against early Android if possible (Android 7.0)

  • TEST_OSK_PORTRAIT_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues.

  • TEST_OSK_LANDSCAPE_LOAD (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it seems to be reasonably positioned and sized. No cropping issues.

  • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it rotates properly.

  • TEST_BROWSER_ROTATE_L-TO-P (PASSED): Tested this with the attach PR build (15.0.271-test-7188) in API 24 / Android 7.0 emulator and verified the appearance of the OSK and it rotates properly.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Sep 20, 2022
@bharanidharanj
Copy link

@bharanidharanj TEST_BROWSER_ROTATE_L-TO-P should have rotated from landscape to portrait orientation, and the screenshot looks like it's still landscape. Are you saying the OSK failed to display in the original landscape orientation?

See the screenshot from the original PR

@darcywong00 The attached Screenshot looks like it's in Portrait orientation. (from Landscape). Actually, I am confused which emulator you are asking about.

When I tested 15.0.270-test-7188 in iOS 15.5 / iPhone 13 Pro Max Simulator, after rotating the device from Landscape to Portrait, the OSK appears partially on the Screen. (Please, see my attached Screenshot) screenshot

When I tested the same (TEST_BROWSER_ROTATE_P-TO-L) in iOS 12.4 / iPhone 7 Simulator, the OSK is failed to display in the original landscape orientation. (Please, see the attached Screenshot) screenshot

Please, let me know if further clarification is needed. Thanks.

@darcywong00
Copy link
Contributor Author

@bharanidharanj
I was asking about your test result from here:

  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 12.4 / iPhone 7 Simulator and I noticed that the OSK flashes on the screen and it does not appear on the View.

Are you saying the OSK flashed and disappeared before rotating from landscape to portrait orientation?

@jahorton - is the browser OSK expected to intermittently disappear?

@bharanidharanj
Copy link

@bharanidharanj I was asking about your test result from here:

  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested this with the attach PR build (15.0.271-test-7188) in iOS 12.4 / iPhone 7 Simulator and I noticed that the OSK flashes on the screen and it does not appear on the View.

Are you saying the OSK flashed and disappeared before rotating from landscape to portrait orientation?

@jahorton - is the browser OSK expected to intermittently disappear?

@darcywong00 Yes, That's right.

@darcywong00
Copy link
Contributor Author

From Friday standup, @mcdurdin said we'll hold off on this PR till @jahorton can investigate the browser OSK rotation issues.

@jahorton
Copy link
Contributor

@jahorton - is the browser OSK expected to intermittently disappear?

I'll need to revisit it to be sure, but my memory is that KMW will usually hide the OSK pre-rotation and re-display it afterward. So, this suggests that the 'redisplay' part isn't happening for whatever reason.

@jahorton
Copy link
Contributor

While certainly not an answer to the lingering issues from user testing mentioned above, there were a few oddities noted here on one of the original PRs: #6979 (comment)

It does make me wonder if there may be a bit more to address there as well.

@jahorton
Copy link
Contributor

Unlike before, I'm having trouble attempting to repro the user test failures. That's going to make investigation at least a bit tricky.

@MakaraSok
Copy link
Collaborator

@keymanapp-test-bot retest SUITE_ROTATION GROUP_OLD_IOS TEST_BROWSER_ROTATE_L-TO-P GROUP_ANDROID_PHONE TEST_BROWSER_ROTATE_P-TO-L

@keymanapp-test-bot keymanapp-test-bot bot added user-test-required User tests have not been completed and removed user-test-failed labels Sep 28, 2022
@MakaraSok MakaraSok self-assigned this Sep 28, 2022
@MakaraSok
Copy link
Collaborator

Self assigned to retest and double check the failed cases

@MakaraSok
Copy link
Collaborator

MakaraSok commented Sep 28, 2022

Test Results

SUITE_ROTATION:

GROUP_OLD_IOS: - try to find an iOS 12 or iOS 13 device to test with

  • TEST_BROWSER_ROTATE_L-TO-P (FAILED): Tested with the build off of this PR:

    • on iOS 12.4 iPhone Xs Max simulator. There is no way to open the language menu as the globe key is nowhere to be found.
    image

    Here is how it looks after rotate to portrait:
    image

If this is out of the scope of this test case, please ignore the this result.

  • The behavior above doesn't occur in iOS 13.7 simulator though.

image

image

  • In iOS 16.0 simular, it doesn't occur either.

image

image

GROUP_ANDROID_PHONE: - any modern Android phone should suffice

  • TEST_BROWSER_ROTATE_P-TO-L (PASSED): Tested with Android 12 (API 31), the keyboard is shown OK after rotating to landscape.

    image

@keymanapp-test-bot keymanapp-test-bot bot added user-test-failed and removed user-test-required User tests have not been completed labels Sep 28, 2022
@mcdurdin mcdurdin modified the milestones: A16S11, A16S12 Oct 2, 2022
@jahorton
Copy link
Contributor

jahorton commented Oct 4, 2022

Test Results

SUITE_ROTATION:

GROUP_OLD_IOS: - try to find an iOS 12 or iOS 13 device to test with

* **TEST_BROWSER_ROTATE_L-TO-P (FAILED):** Tested with the [build off of this PR](https://build.palaso.org/repository/download/Keymanweb_TestPullRequests/339125:id/index.html):
  
  * on iOS 12.4 iPhone Xs Max simulator. There is no way to open the language menu as the globe key is nowhere to be found.
  
  <img alt="image" width="500" src="https://user-images.githubusercontent.com/28331388/192683244-910cbb16-41b6-40f6-9eab-26734beb8cfe.png">

I may need to double-check, but I think this is the same Safari issue as noted on one of the other tests previously. Older iOS devices put the nav bar at the top rather than the bottom, but the in-page side effects were the same. If the nav bar hadn't appeared, the globe key would likely be in view.

@jahorton
Copy link
Contributor

jahorton commented Oct 4, 2022

Come to think on it... if the 'worst' user test failure we're getting is that the OSK isn't showing after a rotation... as long as it shows again when the element is reselected, that doesn't seem too bad of an issue. Also, even that is only happening intermittently at that, so far as we've seen, right?

@bharanidharanj
Copy link

bharanidharanj commented Oct 6, 2022

As per Makara's suggestion I have retested this (GROUP_OLD_IOS: - try to find an iOS 12 or iOS 13 device to test with- TEST_BROWSER_ROTATE_L-TO-P )in iOS 12.4 and here is my observation:

  1. Tested the Landscape to Portrait mode in iPhone 7 Plus Simulator and I was able to see the OSK on the Screen in the landscape mode. However, the bottom of the OSK has been cropped.

  2. In iPhone X Simulator after clicking the text area, the globe key is not visible on the Screen.

  3. In iPhone xs Max Simulator, after scrolling down the page I could able to see the globe key. However, scrolling up the page will hide the globe key on the screen.

globekeyprob.mov
  1. Tested the same in iOS 16.0, the OSK is fully visible on the Screen. Seems to be working fine in the latest iOS verion.

@mcdurdin
Copy link
Member

mcdurdin commented Oct 6, 2022

My feeling on this, is if the issue is less severe than previously, we should merge this. In particular, if this rotation issue only impacts Keyman Web on mobile, and only impacts rotation, and is easily resolved by the user by refocusing the edit control, that's a much smaller user base, with a much less severe impact, so we should merge.

Then we should open a new issue to correct the remaining rotation issues!

@mcdurdin mcdurdin modified the milestones: A16S12, A16S13 Oct 16, 2022
@mcdurdin mcdurdin merged commit f6f7371 into stable-15.0 Oct 16, 2022
@mcdurdin mcdurdin deleted the cherrypick/web/6787-rotation-polish branch October 16, 2022 23:58
@mcdurdin
Copy link
Member

One fail on the old version of iOS, modern iOS versions seem to work fine.

@keyman-server
Copy link
Collaborator

Changes in this pull request will be available for download in Keyman version 15.0.271

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

bug(android): At start of input, pressing globe key, going back, leads to stuck shift key
6 participants