Jarring message animation when opening keyboard

Open
#5,953 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

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

Research direction

Reproduce the issue from the chat entry point on an iPhone 13 running iOS 18.2.1, using a conversation with more than one screen of messages. Trace the message-list animation behavior while opening and closing the keyboard; done means both on-screen and off-screen messages slide together without disappearing, fading in, or overlapping.

Written by the indexing model from the issue text.

Description

Acknowledged
  • I have searched open and closed issues for duplicates
    • I saw #5468 and #5129 which seemed related but different.
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

When opening/closing the keyboard in a chat, the animation for off-screen messages is different from the animation of on-screen messages and it is very jarring.

Steps to reproduce
  • open a chat with more than a screen of messages
  • open the keyboard (the animation is buggy)
  • close the keyboard (the animation is buggy)

Actual result: Describe here what happens after you run the steps above (i.e. the buggy behaviour)

  • When opening keyboard:
    • The messages that are about to be off-screen just disappear.
    • The on-screen messages (correctly) slide up.
    • This isn't very noticeable, but is probably the same bug.
  • When closing keyboard:
    • The messages that were off-screen fade in.
    • The on-screen messages (correctly) slide down.
    • This is very jarring, as there is a period of time when messages overlap.

Expected result: Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour)
Both on- and off- screen messages should slide up/down to animate.

Screenshots

Video:

https://github.com/user-attachments/assets/00802c91-9da1-4c9c-bcc9-6694fea63459

Showing keyboard:
Show keyboard

Hiding keyboard:
Hide keyboard

Device info

Device: iPhone 13

iOS version: 18.2.1

Signal version: 7.43 (573)

Link to debug log

https://debuglogs.org/ios/7.43.0/18ba9129abd0b6f49c5de985d7d8bc3435068985b4bcb2cf69edc91c3851ed9b.zip

Dominant language
Swift
Stars
12.2k
Forks
3.5k
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from signalapp/Signal-iOS

All issues in signalapp/Signal-iOS

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.