Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NativeScript/NativeScript
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 283eb0c
Choose a base ref
...
head repository: NativeScript/NativeScript
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1c40591
Choose a head ref
  • 5 commits
  • 12 files changed
  • 1 contributor

Commits on Oct 2, 2026

  1. fix(ios): size a nested Frame from its container rather than the main…

    … screen
    
    Frame leaves positioning to UIKit, but for a Frame nested in a layout core is the container and
    never gives the navigation controller's view a frame. It keeps the UIScreen.main bounds UIKit
    creates it with, and its autoresizing mask then only tracks later changes of the container.
    
    That holds only while the scene matches the main screen. On iPhone Duo UIScreen.main is always
    the outer display, so an app launched on the inner display got an outer-display-sized Frame
    (466x678 in a 951x669 scene), which became 84x687 once the app moved to the outer display.
    
    Match the view to its container during layout when the Frame is hosted directly in a
    NativeScript view. Frames under a UIKit container (window root, TabView, SplitView, modals)
    are untouched.
    NathanWalker committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    91f3206 View commit details
    Browse the repository at this point in the history
  2. fix(ios): read Screen.mainScreen bounds from the window's current screen

    MainScreen cached the first UIScreen it resolved. A window can move to a screen of another
    size, e.g. between the outer and inner displays of iPhone Duo, which left widthDIPs/heightDIPs
    (and the pixel sizes media queries are matched against) reporting the previous display.
    
    Resolve the bounds from the window's screen on each read. Scale keeps using the cached screen:
    it is read on hot paths and is the same on both displays, as layout-helper already assumes.
    NathanWalker committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    6d15a7f View commit details
    Browse the repository at this point in the history
  3. feat(action-bar): iOS bar placement settings and titles for icon items

    iOS 27.1 can present bars vertically (iPhone Duo), where fewer items fit and the rest move to
    an overflow menu showing each item's image and title.
    
    - keep ActionItem text as the UIBarButtonItem title when an icon is set. Bars still show only
      the image; the title gives the overflow menu something to display.
    - add ios.visibilityPriority ('high' | 'standard' | 'low' | number) to control which items
      move to the overflow menu first.
    - add ios.axisBehavior ('automatic' | 'horizontalOnly' | 'verticalPreferred') to control
      whether an item may be presented in a vertical bar.
    
    Both settings are ignored where the API is unavailable. Includes a toolbox page and device
    tests.
    NathanWalker committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    19794be View commit details
    Browse the repository at this point in the history
  4. refactor(ios): trim comments to the code comments guide

    Apply tools/notes/CodeComments.md to the iPhone Duo changes: single-sentence JSDoc with the
    Apple documentation link, inline comments of at most 12 words, and none where the code reads
    on its own. Drop the redundant string coercion of ActionItem text.
    NathanWalker committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    37d8d33 View commit details
    Browse the repository at this point in the history
  5. fix(ios): lay out a Frame or TabView hosted in a layout from its layo…

    …ut slot
    
    A Frame or TabView placed directly in a NativeScript view (TabView as Page
    content, Frame in a GridLayout cell) was never positioned by core, so its
    controller's view kept the UIScreen.main bounds UIKit created it with. On
    iPhone Duo that is the outer display, so a TabView launched on the inner
    display rendered outer-sized. Sizing to the container's bounds also ignored
    the view's own cell, e.g. a Frame in the second row of a grid covered the
    first.
    
    When hosted in a NativeScript view, both now take the regular View frame
    path and extend the edges that sit on the container's safe area out to its
    bounds, since the controller insets its own content. Frames and TabViews
    under a UIKit container (window root, TabView items, modals) are unchanged.
    NathanWalker committed Oct 2, 2026
    Configuration menu
    Copy the full SHA
    1c40591 View commit details
    Browse the repository at this point in the history
Loading