holzschu / a-shell

A terminal for iOS, with multiple windows
BSD 3-Clause "New" or "Revised" License
2.72k stars 117 forks source link

Ipython pushes output off screen on iPad in portrait mode #366

Open ifuchs opened 2 years ago

ifuchs commented 2 years ago

All ipython output is pushed off screen. It can only be accessed by scrolling after each line is entered. Also, the ipython prompt is not on the line with the line number. This is on an iPad in landscape mode, it works correctly in portrait mode.

holzschu commented 2 years ago

I could not reproduce the issue. Were there any other steps, before launching ipython? Do you have a screenshot?

ifuchs commented 2 years ago

FWIW:The iPad is running iOS 15.3 beta. On another iPad running 15.2.1, I don't have the problem. https://user-images.githubusercontent.com/5650376/150649703-6f167065-69a5-4c05-8221-7af0972a7c4c.MOV

ifuchs commented 2 years ago

I posted a screen recording but not sure if that works on github or not.

On Sat, Jan 22, 2022 at 10:36 AM Nicolas Holzschuch < @.***> wrote:

I could not reproduce the issue. Were there any other steps, before launching ipython? Do you have a screenshot?

— Reply to this email directly, view it on GitHub https://github.com/holzschu/a-shell/issues/366#issuecomment-1019293634, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLDPSH3ESAKOZWB5G47J5LUXLFIVANCNFSM5MR7FSFA . You are receiving this because you authored the thread.Message ID: @.***>

holzschu commented 2 years ago

Thanks. I hope whatever is causing it is fixed before release.

holzschu commented 2 years ago

iOS 15.3 is currently a Release Candidate, meaning it's close to being released. I'll test ipython on my devices as soon as it is released. In the meantime, I won't release version 1.8.3, so debugging and testing can go faster (the first build for a new version takes longer to be approved than builds with the same version number).

holzschu commented 2 years ago

I've just tested on the iOS 15.3 release. ipython appears to work normally.

ifuchs commented 2 years ago

Problem persists on the iPad in landscape mode under iPadOS 15.3

personalizedrefrigerator commented 2 years ago

I have been experiencing similar issues on previous versions of iOS (I think even with iOS 14.X) with both ipython and jsi (both use prompt_toolkit). Testing it, I can also reproduce this on iOS (iPhone) 15.3 with jsi (portrait and landscape) and ipython (landscape). I can also reproduce this issue with the app store version of a-Shell mini.

holzschu commented 2 years ago

Thanks for confirming the issue and for the suggestion of the phone. I still cannot reproduce on my iPad (both portrait and landscape), but I have it on my iPhone (landscape only), so I can start looking for a cause.

Edit: setenv PROMPT_TOOLKIT_NO_CPR 1 removes the issue, which confirms the problem is from prompt_toolkit.

holzschu commented 2 years ago

I think I've tracked it down to prompt_toolkit using fcntl.ioctl to get the window size, which fails, so it falls back to the default size of 80x24, which works almost all the time... except if the number of lines is less than 24.

Now I'm trying various fixes.

holzschu commented 2 years ago

Build 215 on TestFlight has a fix for this issue: https://testflight.apple.com/join/WUdKe3f4 Hopefully that works for you.