Skip to content

Fix iOS scroll overscroll by reverting contentInsetAdjustmentBehavior to "never"#9

Open
jameshaworthcs wants to merge 3 commits intomainfrom
fix/ui-scroll-bug
Open

Fix iOS scroll overscroll by reverting contentInsetAdjustmentBehavior to "never"#9
jameshaworthcs wants to merge 3 commits intomainfrom
fix/ui-scroll-bug

Conversation

@jameshaworthcs
Copy link
Owner

@jameshaworthcs jameshaworthcs commented Mar 16, 2026

Summary by CodeRabbit

  • Bug Fixes

    • Improved scroll behavior by removing platform-specific reset logic for more consistent experience across devices.
    • Added additional bottom padding around banners and standardized inset behavior for better spacing and readability.
  • Chores

    • Application version updated to 1.2.8.

@coderabbitai
Copy link

coderabbitai bot commented Mar 16, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 660ae7ca-8905-4b52-b1e3-83cb65b63f8f

📥 Commits

Reviewing files that changed from the base of the PR and between f095571 and 864d7dd.

📒 Files selected for processing (1)
  • components/TabScreenScrollView.tsx

📝 Walkthrough

Walkthrough

This PR bumps the app version to 1.2.8 and refactors TabScreenScrollView by removing iOS-specific focus/Platform logic, setting contentInsetAdjustmentBehavior to "never", and adding a BOTTOM_EXTRA_PADDING (16) into bottom padding calculations for banner spacing.

Changes

Cohort / File(s) Summary
Configuration
app.json
Version bump from 1.2.7 to 1.2.8.
Component Refactoring
components/TabScreenScrollView.tsx
Removed Platform and useFocusEffect imports and iOS-specific scroll reset logic. Fixed contentInsetAdjustmentBehavior to "never". Added BOTTOM_EXTRA_PADDING = 16 and incorporated it into bottom padding (banner spacing).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 A hop, a tweak, a tiny bump,
iOS resets take a gentle slump.
Padding grows by sweet sixteen,
banners rest where they've not been.
Happy hops for code serene! 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: reverting contentInsetAdjustmentBehavior to 'never' to fix an iOS scroll overscroll issue, which directly aligns with the changes in TabScreenScrollView.tsx.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/ui-scroll-bug
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
components/TabScreenScrollView.tsx (1)

51-53: Hoist BOTTOM_EXTRA_PADDING to module scope for consistency.

This value is static; moving it near other layout constants avoids per-render redefinition and keeps sizing config centralized.

♻️ Suggested refactor
 // VersionUpdateBanner height: padding (14*2) + content height (~24) ≈ 56px
 const VERSION_BANNER_HEIGHT = 56;
+const BOTTOM_EXTRA_PADDING = 16;
@@
-    // Extra breathing room so content doesn't sit flush against the tab bar
-    const BOTTOM_EXTRA_PADDING = 16;
-
     const totalBottomPadding =
       bottomInset +
       BOTTOM_EXTRA_PADDING +

Also applies to: 56-56

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@components/TabScreenScrollView.tsx` around lines 51 - 53, Move the constant
BOTTOM_EXTRA_PADDING out of the component render so it is defined at module
scope alongside other layout constants; locate the local definition inside the
TabScreenScrollView component (symbol: BOTTOM_EXTRA_PADDING) and remove it
there, then add a top-level const BOTTOM_EXTRA_PADDING = 16 so the value is not
re-created on each render and remains centralized with other sizing constants.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@components/TabScreenScrollView.tsx`:
- Around line 51-53: Move the constant BOTTOM_EXTRA_PADDING out of the component
render so it is defined at module scope alongside other layout constants; locate
the local definition inside the TabScreenScrollView component (symbol:
BOTTOM_EXTRA_PADDING) and remove it there, then add a top-level const
BOTTOM_EXTRA_PADDING = 16 so the value is not re-created on each render and
remains centralized with other sizing constants.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b2892cdc-9f39-4d5c-9604-f67897279f18

📥 Commits

Reviewing files that changed from the base of the PR and between 3f3b220 and f095571.

📒 Files selected for processing (2)
  • app.json
  • components/TabScreenScrollView.tsx

@jameshaworthcs
Copy link
Owner Author

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Mar 16, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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