Post composer becomes full screen when scrolling down on mobile

For the last handful of days, there as been a bug on mobile (at least latest iOS) when composing a post where the post composer becomes unexpectedly full screen.

Steps to reproduce:

  • Open a topic and start a reply.
  • Type something in the post composer.
  • Hit “Done” on the keyboard. Now the composer takes up the bottom half of the screen, while the top half shows the topic you were viewing.
  • Drag your finger within the topic (not the composer) from top to bottom. The topic properly scrolls up.
  • Drag your finger within the topic (not the composer) from bottom to top. This should scroll the topic down, but instead it makes the post composer full screen.

Personally, when reviewing my post before submission, I tend to reread what I’m replying to to make sure my response is accurate/useful. This bug makes it incredibly difficult to do that.

3 Likes

Android user here. Similar issue.
When I click to reply a topic, the input takes the whole screen, which is very annoying:

Until few days ago, it was taking only the bottom half of the screen, so it allowed one to read the topic whole writing the reply.

Any chance to fix it?

1 Like

One of our Android users has also complained about the same thing. I haven’t seen the same on iOS though.

Hi,
This is a feature not a bug, just to uniform the mobile devices iOS has full height composer and now Android too. I always use full height composer on android on our forum but I just used the height: 100%;. The previous not full height composer caused problems on landscape mode.

https://github.com/discourse/discourse/commit/c54609bfcdc908febed384a9c99027883f0a73d4

If that’s a feature, it’s a bad one.

Just now, when replying to you, I want to check if I didn’t misunderstand what you said.
I had to minimize the composer (losing my train of thought), check your post, maximize the composer again, try to recover what I was going to say, and keep editing.

If the purpose was to uniform the mobile devices, then it should change iOS to behave as Android, not the opposite…

Is there any chance to bring the previous behavior back?
If not, is there a workaround?

I get the landscape problem, but isn’t it possible to have the other mode on portrait as before?

You could try this on mobile css. This will fix the portrait height to 250px but use the default full height to landscape mode.

#reply-control {
  @media (orientation: portrait) {
    .keyboard-visible &.open {
      height: 250px;
    }
  }
}

For the record, the issue I reported is new on iOS, so perhaps this was an unintended side effect. Making the composer full screen when the keyboard isn’t up (and therefore I can’t actually type anything anyway) doesn’t make any sense. It just makes it harder to review the post I’m replying to before submission.

EDIT: Rereading @RickRoll’s post, it sounds like we’re talking about two different things. It has never been possible to write a post on iOS while also reading posts. I’m specifically complaining about the new behavior when scrolling the screen with swipe operations while the composer is open.

2 Likes

I see sorry about that. I cannot repro your report on DiscourseHub. The composer fixed when i scroll the topic top to bottom and also fixed when scroll bottom to top. iOS 14.4.2, iPhone 7 plus
But the bug what you report is appear in Safari.

Yeah, I think we are taking about different things.
Sorry for hijacking the thread! :zipper_mouth_face:

1 Like

Thanks for the report @seanblue, I can repro the issue on Safari, will take a look at fixing it soon.

3 Likes

This is fixed now via FIX: Bug when scrolling in iOS Safari with composer open (#12831) · discourse/discourse@886f4b5 · GitHub.

As Don noted, this separate Android-only issue is working as designed, we would like to have the same uniform experience between iOS and Android, and we believe that the composer should take up all the available space when the software keyboard is visible because keyboard plus composer already takes up a lot of space, there is no point in leaving, say, a 50px tall view of the post stream.

If you want to scroll the page and keep the composer half open, all you have to do is dismiss the keyboard using the specific button for that on Android (which is the downward-pointing chevron at the bottom-right corner in your screenshot).

4 Likes

Confirmed it’s working now. Thanks for the quick turnaround!

1 Like