Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Android plugin now detects tablet and desktop window modes, reapplies window metrics, and migrates legacy injections. Android sidebar title metrics, accessibility properties, and font-padding behavior are also updated and tested. ChangesAndroid windowing and layout
Priority: ⬆️ High Estimated code review effort: 4 (Complex) | ~45 minutes Change: Bug fix · Severity of issue fixed: High Suggested reviewers: Merge Risk: ⚪ Minimal · up to The Android desktop windowing and sidebar title changes preserve the covered platform behavior and accessibility contracts. No actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Description checkExplanation The description clearly explains the problem, fix, affected environments, test plan, and native binary requirement. However, it does not use the required What Changed, Why, UI Changes, and Checklist sections, and it lacks the required before/after screenshots for the UI changes. Device validation also remains incomplete.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Before (Samsung DeX)User-captured on Galaxy Z Fold 4 in a 1920×1080 DeX window. Split layout is on, but type is vertically clipped and overlapping. AfterNot captured yet. This change is a native MainActivity / density rebind; it cannot be screenshotted from this Linux host (no DeX, no Android emulator/adb, and the EAS preview APK has not been installed on the Fold). After the |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR combines a sidebar rendering fix with native Android orientation and display-metric changes that apply across Activity creation and window configuration transitions. The new desktop-window behavior is broader than a small isolated text adjustment and warrants human review. You can add or adjust custom eligibility rules. Learn more. |
Samsung DeX and Pixel Desktop keep the phone's display density inside a freeform window, so React Native type clips and overlaps. Unlock orientation for desk-mode windows, rebind DisplayMetrics from the Activity, and give the Threads title a line box that actually fits. Made with Grok.
e6a3ff0 to
c2be54f
Compare
|
Rebased onto upstream main to clear merge conflicts (ThreadNavigationSidebar.tsx and layoutMetrics.ts). |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c2be54f. Configure here.
The 34/41 Threads heading constants only set container minHeight after CompactBrandTitle landed on main. Restore the large-title Text so fontSize, lineHeight, and includeFontPadding apply to the painted Android split-view header.
The 34/41 Threads Text dropped CompactBrandTitle's accessible heading role, aria-level, and T3 Code, Threads label. Restore those props so TalkBack still finds a level-1 heading.
…ed-desktop-scaling Keep Android includeFontPadding on CompactBrandTitle after the Uniwind className conversion. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Merged This PR is a bug fix for existing DeX / Pixel Desktop rendering, not a new desktop-window feature. It now #8195 is still unlabeled ( |
Fixes reproduced on an Android emulator and from upstream reports. Feed: Android stops drawing a text view past the GPU's maximum texture height, so a long list rendered as one selectable Text lost its tail and took seconds per frame to draw. Long lists now split into 40-item chunks. Wide assistant markdown blocks keep a pinned width; the feed reserves bottom padding. Keyboard: the feed re-pins after keyboard transitions settle and when the composer collapses; the back gesture collapses the composer; sticky composers only follow the keyboard after a fresh show or real focus (upstream pingdotgg#8212). Terminal: hardware Enter no longer moves focus off the terminal; keyboards that use deleteSurroundingText (FUTO) send Backspace; forward delete works. Also: stream haptics no longer buzz every 320ms on Android and all haptics use the system engine; thread settings apply on tap without Save; typed pairing codes are normalized to the server format; non-git projects fall back to the current checkout instead of a dead worktree default; user CA certificates are trusted; Ctrl/Cmd+Enter sends from a hardware keyboard; thread rename, project favicons in the filter, tablet sidebar toggle, desktop-window density, route titles, Material You review colors, bottom gesture-bar insets, and the composer placeholder clipping (upstream PRs pingdotgg#11503, pingdotgg#11370, pingdotgg#11339, pingdotgg#8200, pingdotgg#8717, pingdotgg#11445, pingdotgg#6003, pingdotgg#5052, pingdotgg#8362, pingdotgg#10709, pingdotgg#11611, pingdotgg#8800, adapted).


Problem
This is a bug fix for already-broken Android desktop windows, not a new desktop-window feature.
On Samsung DeX and Pixel Desktop, T3 Code Android renders with clipped, overlapping type. Split layout turns on (so the window size is seen), but glyphs paint at the phone's density inside the desktop window. The same build is fine on a Fold inner screen.
Both reports are the same failure:
Fix
React Native's
DisplayMetricsHolderre-inits from the application context, soPixelUtil(text, layout,react-native-screensframes) keeps the phone density inside a desktop window. That is why JSuseWindowDimensions()can turn on split layout while painted glyphs and screen frames are still wrong.UI_MODE_TYPE_DESKas well as the 600dp tablet breakpoint (DeX / Pixel Desktop / ChromeOS, not just foldables).DisplayMetricsHolderfrom the Activity and request a relayout so Yoga, type, and screen frames use window metrics. This is the [Bug]: Android Desktop UI extremely broken #8135 "content does not fill the window / settings is a tiny island" path, not only the sidebar title.includeFontPadding: false).Native fingerprint change (MainActivity). Needs a store/preview binary, not an OTA.
Test plan
Fixes #8195
Fixes #8135
Made with Grok.
Summary by CodeRabbit