Skip to content

fix: keep the mobile task transcript painting on iOS 27 - #264

Open
zj-linjie wants to merge 1 commit into
aicodeking:mainfrom
zj-linjie:pandacode/ios-transcript-fix
Open

zj-linjie wants to merge 1 commit into
aicodeking:mainfrom
zj-linjie:pandacode/ios-transcript-fix

Conversation

@zj-linjie

Copy link
Copy Markdown

Problem

On iOS 27 (Fabric), the task transcript went blank right after opening a task: layout, scrolling and gestures stayed alive but the inverted FlatList content only painted during navigation transitions, then froze at rest. Two compounding bugs:

  1. Inverted list stops painting at rest on iOS 27/Fabric — the cells render but never make it onto the screen while the list is idle. Root cause and repro filed upstream as Fabric: inverted FlatList renders nothing at rest on device (iOS 27); content paints only during navigation transitions react/react-native#59731.
  2. keyboardDidHide is dropped for interactive (swipe) dismissals, so the keyboard height stayed in the insets and pushed the already-fragile list out of the viewport — the blanking looked total even though the list was alive.

Fix

Small, targeted mobile-side workarounds (2 files): force the inverted list to keep painting at rest on iOS 27, and recover the keyboard inset on interactive dismissal instead of trusting keyboardDidHide alone.

Verification

Tested on an iPhone with iOS 27: transcript paints immediately on open, survives interactive keyboard dismissal, and stays live across navigation transitions.

Two compounding bugs blanked the transcript after opening a task: the
inverted FlatList stops painting at rest on iOS 27/Fabric (layout,
scroll and gestures stay alive, content only paints during navigation
transitions), and iOS drops keyboardDidHide for interactive dismissals
so the keyboard height got stuck and pushed the list out of view.

Render the transcript chronologically: maintainVisibleContentPosition
anchors the reading position, the first layout scrolls to the newest
message, onStartReached loads older pages. Reconcile the keyboard
height from willShow/willHide and the real frame. Reported upstream as
react/react-native#59731.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant