In the last few days (perhaps since the release of iOS 10.3?) I've experienced a very irritating bug. I can start out looking at the terminal screen in portrait mode:
When I turn it to landscape, there is a blank, unused space to the right of the text:
When I turn it back to portrait, the working screen is reduced to a small area at the top of the iPad's screen:
The problem continues even after returning to the blink> prompt. Only by typing exit can I return to using the whole screen.
Any ideas? Many thanks!
Hi! Thanks for reporting this :) I wasn't able to replicate it myself, but I definitely saw it during development. I wonder if maybe it is an issue with the new iOS not triggering resizes properly.
While we investigate it, please try just opening another screen (two finger tap) and going back to the previous. That should also trigger the resize event.
And by the way, really nice font! Glad to see people tweaking their Blink!
Just purchased the app and this issue is pretty bad for me.
iPhone 7 on 10.3:
Steps to reproduce:
You'll notice that the terminal area only takes up half the width now:
Rotate it again and you'll see the issue with the terminal area height.
I can sometimes get it to fix itself if I rotate it around but it isn't consistent.
This is all without connecting to a server.
I'm also seeing this, at least the unused space. It's not getting progressively smaller with each rotation for me, though
I haven't been able to replicate this one but I'm finishing a bunch of fixes for next week and wanna close it. Is this all with the new os?
As a quick fix, just please create a new shell and that should get it right.
Yup, responding to myself as I just had the chance of trying on a different device. This seems to be exclusive to 10.3.1
I actually don't find that opening a new shell and then switching back to the original resizes it at all. The incorrect dimensions are preserved perfectly.
Switching to another program and then returning to Blink Shell does seem to work, though.
This seems to be a bug on iOS, I think I might have a workaround. @agkozak are you also on Blink RAW?
@carloscabanero No, I'm just using version 5.028.1 from the App Store. I'll be happy to test out a beta version, if you like.
A fix for this would be greatly appreciated currently its making my coding experience a living nightmare because i only use my phone with blink and a bluetooth keyboard.
Everytime I switch to an app that forces a certain orientation I have to stop blink, reconnect and disconnect my previous tmux session.
I'm on it. It isn't an issue on our side and at the same time, we have to update Xcode too, what triggered another set of issues :(
Thanks a lot :), I know that apple introduced some bug there so thanks a lot for trying!
I also encountered this bug when dismissing split screen on ipad pro using latest testflight version:
Somewhat tied to this, when using the AirPlay display, often the internal display loses sizing capability, and forgets offsets (such as not having the shortcut bar or not, leaving a black bar where the shortcut bar would be). Also noticed when using split screen views, which I now avoid like the plague when using Mosh, which is a pity as split screen is a huge part of my workflow. (Working Copy, etc. off to a side.) Sometimes the keyboard appearing and disappearing (with connected external keyboard) after switching out and back to the app also corrupts the geometry.
I also am seeing similar behaviour using latest version from app store (5.028) on ios 10.3.2. I'm using an ipad Pro 12.9 with the apple smart keyboard.
If while I have the keyboard attached the screen rotates I see exactly the same as the previous pictures. In portrait it loses space on the bottom, upon rotating back to landscape I see lost space on the right hand side. This is repeatable every time I do the steps described above.
For those affected by this issue a temporary workaround to avoid restarting seems to be switching to another app and then back to blink forces a redraw of the screen, saves dropping your current connection.
I'll confirm with my own screenshots. First, dismissed sidebar, then dismissed keyboard, then illustrating the transition between a session stuck with bad geometry and a freshly created one (created by tapping with two fingers after dismissing the keyboard). App Store stable version.
The geometry issue is very clearly tied to specific session instances.
I finally had some time as I hit a wall with another project and just solved it.
Turns out the new iOS was sending the resize event to the JS before it happened on the WKWebView.
I will push a hot fix for everyone.
Just a quick update, the version on TestFlight got rejected because "booting on a black screen had to be a bug", had to explain them that is actually a feature 😄 Hopefully it will get approved soon.
The version for release on the AppStore got rejected for a different reason: TouchID controls when the device locks to enable itself, and they do not allow to do that anymore. Thinking about an alternative instead of enabling it all the time, but need ideas, maybe building some 10 mins tolerance?
Thanks guys!
@carloscabanero No worries! One of my own apps (a syntax highlighting source code viewer with cross-app integration, "View Source" in Safari, etc.) got rejected for "minimal useful functionality"—my reply was one sentence: "35 apps that fart when you touch the screen." (Still didn't get approved. ;)
Most of the apps I use that offer password locking enable it after the application goes inactive or is otherwise backgrounded or quit. Banking apps then go a step further and have things like five minute timeouts. How that is handled is typically exceptionally poor, e.g. pop up an alert about timing out, then show the Touch ID prompt… under the alert… never ends well and is the greatest anti-feature I encounter regularly. (If you do allow inactivity timeouts, make them configurable. My iPad itself is set to never sleep, for example.)
Just a heads up. The TestFlight version 6.08 is already out! So this issue is fixed and we can also give a try to the new HTerm.
The fixes for this on the AppStore should be out as soon as I change the TouchID behavior, probably just trigger it when the app goes to background.
Let me know if anyone can still experience it, otherwise we close it.
Thanks to everyone for their help crashing this one :)
Works, but #280 would be a critical bug if this was released to the app store as-is (I had to revert from TestFlight to app store version to make it usable again)
I think should allow a timer on touchid lock, wanting touchid every time switch back to app within a few minutes of last use would get annoying quickly.
Alright, TouchID issues fixed, and still very good, without timers or hacks, still same or very similar experience.
I haven't pushed the new HTerm to the AppStore due to #280. But we have a few new small surprises :)
Hopefully on everyone's hands by Monday.
Any updates on this? "Monday" was two weeks ago. :/
Same issue, though if you open Blink while holding the phone in landscape it gives you the full width.
It is already on TestFlight and hopefully in a few hours in the AppStore. Got rejected yesterday for including the word iOS11 within the Changelog. Apologies for the delay.
7 is out! And we can finally close this :)
Version 7.0.1 is much better, thanks! But I'm still getting the old behavior intermittently on my iPad Air 2 running iOS 10.3.2.
Below is a screenshot from a FreeBSD server, but I also have the problem on Ubuntu, CloudLinux, and Raspbian -- all of the OSes I've tried.

Very sorry @agkozak. It is just outrageous that a d* WebView cannot, still, receive the right size from the window just because. I can definitely see what you mean in one specific case with iOS11. Works on 99% of the cases, but it is jus simply crazy that the event is thrown, captured, and the size of the window can be anything, even with a delay applied to it.
I'm done with this. I'm going rewrite the whole resize so that the real View tells the WebView what the size is instead of requesting it from the window.
Any news on this?
It's really really ruining my day in and out :(
I'd be happy to help wherever I can...
I’m almost done myself with libssh and will prioritize this again.
This should have been out on v10. Closing here but feel free to reopen if anything weird happens again :)
Most helpful comment
I finally had some time as I hit a wall with another project and just solved it.
Turns out the new iOS was sending the resize event to the JS before it happened on the WKWebView.
I will push a hot fix for everyone.