Skip to content

fix(mobile): sending a prompt no longer turns the Android screen gray - #57

Merged
YJJosh merged 1 commit into
mainfrom
fix/android-send-gray-screen
Oct 9, 2026
Merged

YJJosh merged 1 commit into
mainfrom
fix/android-send-gray-screen

Conversation

@YJJosh

@YJJosh YJJosh commented Oct 9, 2026

Copy link
Copy Markdown
Owner

On Android release builds, sending a prompt turned the whole screen gray, and the app stayed dead until it was force-closed.

Cause: when the composer shrinks after a send, keyboard-controller's Android deferred scroll calls scrollViewRef() inside requestAnimationFrame. Under Reanimated 4.7 the ref reaches the UI runtime as a shareable rather than a function, so the call throws and React Native destroys the React instance:

W ReactNativeJS: [Reanimated] Tried to dispatch command "scrollTo" with an uninitialized ref. …
W BridgelessReact: TypeError: Object is not a function
W BridgelessReact:     at executeQueue / flushQueue / nativeFlushQueue
E ReactHost: … Execute: reactInstance is null. Dropping work.

Fix: cherry-picks upstream pingdotgg#14850 (original author kept). It reads the node from scrollViewRef.value when the ref is not a function. The fork synced to a stable tag before that fix landed.

Verified on an Android 16 emulator against an isolated local server, sending a prompt from both an existing thread and the new-thread composer:

  • v0.0.45-dulli.4 release APK: the crash above, gray screen.
  • Production release build of this branch: the turn runs and the reply renders, with no TypeError. The Reanimated warning still logs, but it's harmless.

Made with Claude Opus 5.5 in the pi coding-agent harness

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T06:32:57.510178Z 44a54e3 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB −29 B (−0.2%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB +11 B (+0.2%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB −40 B (−0.6%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 56.2 KiB 56.2 KiB −44 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 9 8 −1 (−11.1%) 21 ✅
Claude Total thread wire 13.5 KiB 13.5 KiB −19 B (−0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +8 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB −27 B (−0.4%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB −44 B (−0.1%) 66.4 KiB ✅
Claude Live turn messages 9 8 −1 (−11.1%) 21 ✅

Baseline: e912b09 · PR result: 44a54e3 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@YJJosh
YJJosh merged commit d145833 into main Oct 9, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants