regression: black empty status bar on Android 14 - #7749
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (2)
🔇 Additional comments (1)
Walkthrough
ChangesStatus Bar
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~5 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The status-bar change preserves the prior Android translucency behavior. No actionable merge-blocking risk remains. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change is limited to status-bar appearance, with no demonstrated new attacker access or weakened security control. Its effect extends across the app, and restoration of shared appearance state during navigation remains unverified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Warning Errors were encountered while retrieving linked issues. Errors (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Android Build Available Rocket.Chat 4.78.0.109836 Internal App Sharing: https://play.google.com/apps/test/RQQ8k09hlnQ/ahAO29uNS8-NtBBHVOFPZjChTEszzEOWqu_kyjmDqXa6f5gUbDTMxYSfq-sfTs5Ty5PXXDQo2ysYYQVRIrMWbxyhok |
|
iOS Build Available Rocket.Chat 4.78.0.109841 |
1cd1990 to
028d715
Compare
Proposed changes
On Android 14 the status bar showed as a black strip with no clock or icons, and content started below it instead of drawing edge-to-edge.
This is a regression from the React Native 0.86 / Expo SDK 57 upgrade (#7691):
expo-status-bar3.0.9 rendered the React NativeStatusBarwithtranslucentdefaulting totrueand forwardedbackgroundColor, which the app set tosurfaceNeutral.expo-status-bar57 no longer passestranslucentorbackgroundColor, and the upgrade removed thebackgroundColorprop from the app'sStatusBarwrapper.setTranslucent(false)and a blacksetColorto the native StatusBar module.react-native-keyboard-controllerreplaces that module whileKeyboardProvideris mounted and applies them: it adds a status-bar-height top margin to the content and paints the bar black.The
StatusBarcontainer now renders the React NativeStatusBardirectly withtranslucent, a transparent background and the matching bar style.Issue(s)
https://rocketchat.atlassian.net/browse/NATIVE-1701
How to test or reproduce
Screenshots
Before, Android 14 (API 34):
After, Android 14 (API 34), launch from splash to the rooms list:
statusbar-launch-api34.mp4
After, Android 16 (API 36), launch from splash to the rooms list:
statusbar-launch-api36.mp4
Types of changes
Checklist
Further comments
expo-status-baris no longer imported by the app after this change.On Android 16 (API 36) the status bar looked the same before and after this change, so the black bar is visible only on Android 14.
Summary by CodeRabbit