Skip to content

[Liquid Glass Follow Up][Design] iOS - Bottom tab - Bottom tab buttons have uneven side margins in landscape mode #104296

Open

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.13-1
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #101339
Email or phone of affected tester (no customers): n/a
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: iPhone 13 iO S26.6
App Component: Other

Action Performed:

  1. Open the app
  2. Rotate the device to landscape mode
  3. Navigate through the bottom navigation bar by tapping different tabs

Expected Result:

The bottom tab buttons should be evenly spaced, with equal margins on both sides when focused in landscape mode

Actual Result:

Bottom tab buttons have uneven side margins when focused in landscape mode

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7288361_1792174704369.ScreenRecording_10-16-2026_13-08-57_1.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Svetlana Lazutkina
Bug ID: 7288361

Activity

  1. applause-bot commented on Oct 17, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/de9b51b97705c846cf74d45021c6339065e9542cd567146ee33628358a5ce861

  2. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 17, 2026
  3. melvin-bot commented on Oct 17, 2026

    @melvin-bot

    @grgia recently merged #101339, but they are OOO right now, so I'll auto-assign someone else.

  4. melvin-bot commented on Oct 17, 2026

    @melvin-bot

    Triggered auto assignment to @tylerkaraszewski (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

  5. github-actions commented on Oct 17, 2026

    @github-actions
    Contributor

    👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

    1. Identify the pull request that introduced this issue and revert it.
    2. Find someone who can quickly fix the issue.
    3. Fix the issue yourself.
  6. melvin-bot commented on Oct 17, 2026

    @melvin-bot

    @grgia @ZhenjaHorbach you have been assigned to this deploy blocker because you reviewed the offending PR: #101339

  7. melvin-bot commented on Oct 17, 2026

    @melvin-bot

    @sumo-slonik you have been assigned to this deploy blocker because you authored the offending PR: #101339

  8. melvin-bot commented on Oct 17, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  9. ZhenjaHorbach commented on Oct 17, 2026

    @ZhenjaHorbach
    Contributor

    It shouldn't have the whole width
    At least design team didn't have questions about it

  10. MelvinBot commented on Oct 17, 2026

    @MelvinBot
    Contributor

    Deploy Blocker Analysis

    Causing PR: Add liquid glass bottom tab bar to iOS, Android and mWeb (high confidence). It replaced the JS tab bar with a native iOS UITabBarController and added every file involved.

    Recommendation: Demote. The bug is cosmetic, iPhone landscape only, and doesn't affect core flows. If you keep it as a blocker, fix forward rather than revert this large native PR. Landscape layout issues were already raised in PR review and planned as a follow-up.

    Root cause (medium confidence; not verified on a device): In landscape, the app draws each tab's label into the icon image and sets the native title to an empty string (index.ios.ts:55). UIKit likely still reserves image-to-title spacing on the right, so the focused pill has more padding on the right than on the left.

    Recommended fix (pick one):

    1. In landscape only, pass the real tabBarLabel and use a glyph-only image so UIKit pads the item itself. Design must accept that iOS 26 ignores inactive title colors.
    2. Keep the drawn labels, but balance the padding in the inline branch of getTabIconFrame (tabIconRasterizer.ts:154-163). This depends on UIKit's internal spacing, so it is more fragile.
    Investigation details
    • Landscape switches to an inline icon layout (index.ios.ts:29-34, :46). The image becomes [glyph][gap][label], sized boxSize + labelGap + labelWidth.
    • React Navigation passes '' through, and react-native-screens sets tabBarItem.title = @"" (empty string, not nil). UIKit therefore probably still lays out a title slot beside the image in compact landscape.
    • Smaller confirmed contributor: glyphs are centered in an avatar-sized box (tabIconRasterizer.ts:152, :159). That adds about 1.5pt of left padding to glyph tabs, with nothing matching after the label.
    • Safe-area insets are not the cause. The JS code applies no left or right insets to the bar; labelMaxWidth only affects label truncation (index.ios.ts:44-51).
    • The centered, non-full-width capsule bar in landscape is expected iOS 26 behavior. The bug is the uneven padding inside the focused tab's pill.
    • I did not reproduce this. It only occurs in the native iOS app in landscape, so it can't be tested on web.

    Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.


    view run

  11. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Oct 19, 2026
  12. grgia commented on Oct 19, 2026

    @grgia
    Contributor

    Demoting as blocker, let's get design confirmation here

  13. shawnborton commented on Oct 19, 2026

    @shawnborton
    Contributor

    Hmm yeah, might be nice to make sure we use the same gap on the right side of the label since these tabs are essentially hugging and aren't fixed width sizes.

  14. shawnborton commented on Oct 19, 2026

    @shawnborton
    Contributor

    Def not a blocker though.

  15. changed the title [-]iOS - Bottom tab - Bottom tab buttons have uneven side margins in landscape mode[/-] [+][Design Fix] iOS - Bottom tab - Bottom tab buttons have uneven side margins in landscape mode[/+] on Oct 19, 2026
  16. changed the title [-][Design Fix] iOS - Bottom tab - Bottom tab buttons have uneven side margins in landscape mode[/-] [+][Liquid Glass Follow Up][Design] iOS - Bottom tab - Bottom tab buttons have uneven side margins in landscape mode[/+] on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2EngineeringOverdue

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions