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

Vim layout is broken on iPadOS 14.5 #176

Closed
kkebo opened this issue Feb 4, 2021 · 18 comments
Closed

Vim layout is broken on iPadOS 14.5 #176

kkebo opened this issue Feb 4, 2021 · 18 comments

Comments

@kkebo
Copy link
Contributor

kkebo commented Feb 4, 2021

This problem may be fixed before the final build of iPadOS 14.5 if it is caused by OS or SDK, but I created this issue just in case.

In iPadOS 14.5 Beta 1, the layout of Vim is broken on a-Shell. Please see the screenshots below.

  1. vim with my .vimrc on a-Shell 1.6.6 (iPadOS 14.5 Beta 1):

IMG_0399

  1. vim with my .vimrc on a-Shell 1.6.6 (iPadOS 14.4):

IMG_0247

  1. vim -u NONE on a-Shell 1.6.6 (iPadOS 14.5 Beta 1):

IMG_0400

@kkebo
Copy link
Contributor Author

kkebo commented Feb 4, 2021

The environment of the first screenshot had worked normally before I updated iPadOS from 14.4 to 14.5. When it was iPadOS 14.4, it looked exactly the same as the second screenshot.

@holzschu
Copy link
Owner

holzschu commented Feb 4, 2021

Thanks for the advance warning. It's a bit weird that the iOS version has an impact here.

@kkebo
Copy link
Contributor Author

kkebo commented Feb 20, 2021

iPadOS 14.5 Developer/Public Beta 2 has been released some days ago, but the issue still occurs there.

@kkebo
Copy link
Contributor Author

kkebo commented Feb 23, 2021

It's a bit weird that the iOS version has an impact here.

iOS 14.5's Safari brings the new version of WebKit engine, so it might be affecting this issue.

It includes some new features and fixes like below:

https://www.reddit.com/r/ipad/comments/lifj97/webkit_fix_for_the_scrolling_issue_which_landed/

Moreover, I tested iSH with the same .vimrc, and then it was broken too. It uses hterm as a-Shell does, so I believe that it is a bug between WebKit and hterm.

2338D899-980C-4DC8-B13A-30A4A5C3F7E6

@holzschu
Copy link
Owner

Ah! Thanks for the explanation. Do you know if Safari on OSX uses this new version of the WebKit engine? Because if yes, I can test on the simulator.

@kkebo
Copy link
Contributor Author

kkebo commented Feb 23, 2021

Thank you for your quick response.

Safari on macOS should be differ from the one on iOS, so I believe it may be difficult to reproduce the problem.

However I haven't tested it on the iOS Simulator due to lack of my Mac storage, I believe that you can reproduce it on the Simulator.

@holzschu
Copy link
Owner

holzschu commented Mar 3, 2021

Hi, beta 3 is out, do you know if the problem is still present?

@kkebo
Copy link
Contributor Author

kkebo commented Mar 3, 2021

Hi @holzschu, I tried it right now, but it still occurs on iPadOS 14.5 beta 3.

IMG_0433

@holzschu
Copy link
Owner

holzschu commented Mar 3, 2021

I cloned the entire dotfile directory, but I still have issues when I run vim. Does that ring a bell?
Simulator Screen Shot - iPad Pro (9 7-inch) - 2021-03-03 at 11 36 25

Simulator Screen Shot - iPad Pro (9 7-inch) - 2021-03-03 at 11 37 36

@kkebo
Copy link
Contributor Author

kkebo commented Mar 3, 2021

@holzschu My dotfiles repo is using submodules, so you have to clone it recursively. I often use Working Copy to clone it because it supports submodules.

@holzschu
Copy link
Owner

holzschu commented Mar 3, 2021

Got it. It's now running in the simulator.
Now there is a way to make the simulator use the WebKit version from the nightly build of Safari, if I can find it again.
Simulator Screen Shot - iPad Pro (9 7-inch) - 2021-03-03 at 11 41 44

@kkebo
Copy link
Contributor Author

kkebo commented Mar 3, 2021

@holzschu

Now there is a way to make the simulator use the WebKit version from the nightly build of Safari, if I can find it again.

How about iPadOS 14.5 simulator? You can download it with Xcode 12.5 beta.

@holzschu
Copy link
Owner

holzschu commented Mar 3, 2021

I'm going to give it a try, but in previous versions, the simulator was running iOS beta, but the webkit was from Safari (which makes sense, but is annoying).

@holzschu
Copy link
Owner

holzschu commented Mar 4, 2021

Good news: it does the same in the simulator. According to the JS console (available from Safari "Develop" menu), the issue comes from a function named: splitWidecharString, when it calls it.next(): (it.next is undefined).

  const segmenter = new Intl.Segmenter(undefined, {type: 'grapheme'});
  const it = segmenter.segment(str);

  const rv = [];
  let segment = it.next();

@holzschu
Copy link
Owner

holzschu commented Mar 4, 2021

I've pushed a version of hterm_all.js that fixes the issue in the simulator. Could you check that it works on your side?

@kkebo
Copy link
Contributor Author

kkebo commented Mar 6, 2021

Thanks. I'll try it later.

@kkebo
Copy link
Contributor Author

kkebo commented Mar 7, 2021

I'm trying to build cpython to run and check Vim on the latest commit of a-Shell with your latest script. It seems to have some prerequisites (e.g. sudo xcode-select --install and OpenSSL 1.1) that isn't written in README.rst.

@kkebo
Copy link
Contributor Author

kkebo commented Mar 8, 2021

I've confirmed that the issue has been fixed in 1.6.9. Thank you very much.

@kkebo kkebo closed this as completed Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants