ionic-team / ionic-team/ionic-framework

bug: UI Jumping When Opening Keyboard in Chat Page

Open
#30,268 0 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
TypeScript
Stars
52.7k
Forks
13.3k
Avg merge
1d 15h
Merged PRs (30d)
51

Description

### Prerequisites

- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v8.x

### Current Behavior

When opening the keyboard in a chat page where the input field (`ion-input`) is placed in the footer (`ion-footer`), several UI jumps occur:
1. **Jump before the keyboard opens** – The Safe Area at the bottom is removed just before the keyboard appears, causing the messages to shift slightly downward.
2. **Jump after the keyboard opens** – The footer does not move smoothly with the keyboard animation but instead jumps above the keyboard after it fully opens.
3. **Scrolling issue** – After opening the keyboard, the page does not automatically scroll to the last seen message before the keyboard opened, requiring manual scrolling to find the previously viewed message.

### Expected Behavior

- The Safe Area at the bottom should remain stable before the keyboard opens.
- The footer should move smoothly along with the keyboard without additional jumps.
- The page should automatically scroll so that the last seen message before opening the keyboard remains visible.

### Steps to Reproduce

1. Scroll down to the bottom of the chat page.
2. Click on the input field to open the keyboard.
3. Observe the UI behavior, noting the jumps and scrolling issues.

https://github.com/user-attachments/assets/6882ff3e-e1bd-40a7-ad6d-30436d30af53

### Code Reproduction URL

https://github.com/tzdevelopteam/chat-issue

### Ionic Info

- **Capacitor Version**: 7.1.0
- **Platform**: iOS / Android

### Additional Information

Tried modifying settings, including keyboardResize in capacitor.config.ts, but the issue persists.

Contributor guide

Open the contributing guide

Research direction

Start with the linked chat reproduction at github.com/tzdevelopteam/chat-issue and reproduce the keyboard-opening behavior on iOS and Android. Inspect the keyboardResize setting and the chat page's ion-input in ion-footer; done means the safe area stays stable, the footer follows the keyboard smoothly, and the previously seen message remains visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios, typescript
Domain
frontend, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.