iPad with external keyboard connected can't see post when replying

Whenever I select a text field in the new composer it hijacks the whole screen, preventing me from seeing the text I was responding to.

This also occurs with new topics.

Tested on iPad Pro 12.9” in landscape with external keyboard. Chrome and Safari.


This is by design, there is no way in JavaScript to detect if a hardware keyboard is connected or if a software keyboard is visible… because … Apple and Google don’t seem to think this is a problem that needs solving.

At least Google change the viewport size, Apple don’t even do that.


I thought it was possible, albeit indirectly?

I don’t recall where it was implemented, but this post on SE has the gist of it.

If there’s really no workaround does that mean a new approach to composer for mobile? Something in-line? Even a toggle to anchor the UI would be better than the current arrangement, I have to split-screen two different browsers to see the post I was originally responding to, and if I’m signed into Discourse from both then I can see my draft in both sessions!

1 Like

We already have hack mountain including a bunch of stuff that is not even documented on SE. The trouble with answers there is they are hacky and often break between iOS releases.

It is possible more hacks can get this to magically detect this, I am not sure. But we can not afford to compromise standard software keyboard behavior by issuing random scroll events to fish for this.

Get that this is frustrating, but Apple ought to give us a correct viewport height somehow. Recommend you raise that with apple, I already did, got no answer.


Maybe a keyboard shortcut on Apple for “un full screen” is doable… I don’t know if CTRL if works right on iPad keyboard.

This seems like a pretty big one, over the weekend a CxO reverted to using email when they realised they couldn’t see the message they were responding too. A pretty sizeable blow to the success of that particular project.

Thing is, Keyboard + iPad is quite a rare use case for us. It is annoying for sure, but Apple are not making our lives easy here.


I get that, but I’m pretty sure a while back it didn’t hijack the whole display.

I understand why it’s there when the on-screen keyboard is used. That said, with the on-screen keyboard not being able to see the post severely hampers the ability to compose a response.

Well, position fixed on iPad has been a ROCKY ROCKY road. So we needed more hacks.

For example, this is still broken.



Feel free to create an account here and mention something to Apple


In fact I encourage everyone reading this to do so.


Given the limited screen real-estate that exists on the iPad in the first place, you could consider another approach here entirely. Since waiting 8+ years (since 2011) for Apple doesn’t sound like we’re onto much momentum, right?

How about:

  • A dedicated “new post” page that doesn’t overlay anything, it just gives you a large textarea to post in.
  • This page could have a separate preview mode (as a button or so) to give more screen real-estate to writing and editing
  • Larger font-size

I’ve given up my computer and exclusive use iPad Pro. A big reason I do it is to focus on writing. This works superbly with something like iA Writer, but it’s harder with Discourse due to this bug, and that the font is pretty small etc.

Will also report another bug about smooth scrolling.

Thanks so much for listening!

1 Like

This is the main thing you can do, reply there. Without proper browser support, everything is dead in the water.

I don’t have any faith in that approach. Do you? It’s been 8 years. They’re notoriously bad about this stuff.

It seems to be that there are other alternatives than that. Gmail, for example, has implemented something that seems to work.

Then you should probably stop using iPads :wink:

1 Like

I am not sure this is the case. Apps can definitely work around all these limitations, but the web is unaware of the fact a keyboard is connected or not.

A theme component can be built that would allow you to “trigger” a mode where we just assume a keyboard is connected and then don’t implement all our virtual keyboard hacks. I think this is the only real workaround I can think of. It would require you though to tick a box in your user profile for:

[ ] I am using an iPad with a real hardware keyboard

This may work, I am not sure. We can test it. https://stackoverflow.com/a/43459188/17174


That is of course an approach. And I respect your decision, as a company, to support whichever devices you wish.

That being said, as a user, and as your faithful customer, my expectations are that your modern forum software supports reading and writing superbly on both desktop as well as on mobile devices. Hence my request. My context is that I’m using iPad exclusively.

It seems you are right. However, their solution is a layout where it doesn’t matter, such as the one I proposed.

In other words, it’s another approach than relying on Apple fixing keyboard detection bugs. It’s a layout solution, like the one I proposed above.

Thanks for listening and responding back so quickly.


1 Like

You mention IAWriter that is a native app, all bets are off there.

Can you give an example of a website that you can use in Safari, that works in your desired way?


You’re using it in a very unusual way though, with an external keyboard. This is rare.

I’d love to support it, but we need the browser to be aware of keyboard state for that to work properly. That is the critical part that needs to be followed up on, and unfortunately I do not control the Mobile Safari binary. Only Apple does.

1 Like

My mention of iA Writer was as an example of the full-size, distraction-free writing environment I’m craving in general.

The “layout solution” I’m talking about specifically here is Gmail’s mobile site. Their composer is not perfect but it doesn’t jump around the same way Discourse’s editor does currently.

An even better example might be Medium’s editor. With external keyboard:

Without it:

Another thing Medium’s editor does well is to support image insertion from the clipboard on iOS (via CMD+V). Discourse’s editor does not respond to that command when I have an image in the clipboard. But perhaps I should request that separately.



Compared to the general public, yes. Compared to others who I believe also buys your software, it seems it’s becoming the new standard.