Skip to content

8.2.5+: HtmlView + Material Tabs + orientation change crashing on iOS #9962

Closed

Description

@felixkrautschuk

Issue Description

When upgrading to @nativescript/core 8.2.5 (or even 8.3.0), we notice that there is an issue when using an HtmlView inside a Tabs component (@nativescript-community/ui-material-tabs).

  • The layout is not working correctly, as the content of the tabs is shifted to the top under the ActionBar of the page.
  • When switching from portrait mode to landscape and back to portrait, the app is crashing on iOS

***** Fatal JavaScript exception - application has been terminated. *****
NativeScript encountered a fatal error: Uncaught RangeError: Maximum call stack size exceeded
at
UILayoutViewController.updateAdditionalSafeAreaInsetsIfNeeded(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:61:0)
at UILayoutViewController.viewSafeAreaInsetsDidChange(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:69:0)
at UILayoutViewController.updateAdditionalSafeAreaInsetsIfNeeded(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:61:0)
at UILayoutViewController.viewSafeAreaInsetsDidChange(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:69:0)
at UILayoutViewController.updateAdditionalSafeAreaInsetsIfNeeded(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:61:0)
at UILayoutViewController.viewSafeAreaInsetsDidChange(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:69:0)
at UILayoutViewController.updateAdditionalSafeAreaInsetsIfNeeded(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:61:0)
at UILayoutViewController.viewSafeAreaInsetsDidChange(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:69:0)
at UILayoutViewController.updateAdditionalSafeAreaInsetsIfNeeded(file: app/webpack:/@nativescript/template-hello-world-ts/node_modules/@nativescript/core/ui/core/view/view-helper/index.ios.js:61:0)
at UILayoutViewController.viewSafeAreaInsetsDidChange(file:///app/vendor.js:2524<…>

ns-ios-issue-htmlview-tabs-8-2-5.mov

When using HtmlView without the Material Tabs plugin, the issue does not occur, but as everything was working as expected when using @nativescript/core 8.2.4 (even with the Tabs), I decided to create this issue here instead og the Tabs plugin's repo.

Reproduction

  • Download the sample app:
    ns-custom-tabs.zip

  • Open the app -> content is moved to the top

  • turn the device to landscape and back to portrait -> crash

Relevant log output (if applicable)

No response

Environment

OS: macOS 12.4
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Shell: /bin/zsh
node: 16.15.0
npm: 8.10.0
nativescript: 8.2.3

# android
java: 11.0.11
ndk: Not Found
apis: Not Found
build_tools: Not Found
system_images: Not Found

# ios
xcode: 13.2.1/13C100
cocoapods: 1.11.3
python: 2.7.18
python3: 3.9.7
ruby: 2.7.4
platforms: 
  - DriverKit 21.2
  - iOS 15.2
  - macOS 12.1
  - tvOS 15.2
  - watchOS 8.3

Dependencies

"dependencies": {
  "@nativescript-community/ui-material-tabs": "^7.0.24",
  "@nativescript/core": "^8.3.0",
  "nativescript-ui-listview": "^10.2.2"
},
"devDependencies": {
  "@nativescript/android": "^8.2.4",
  "@nativescript/ios": "^8.3.0",
  "@nativescript/types": "^8.2.0",
  "@nativescript/webpack": "^5.0.6",
  "typescript": "^4.7.4"
}

Please accept these terms

Activity

  1. CatchABus commented on Jul 27, 2022

    @CatchABus
    Contributor

    I recall a contributor applied changes for the same problem here: #9931
    Could these changes cause your problem?

  2. felixkrautschuk commented on Aug 11, 2022

    @felixkrautschuk
    ContributorAuthor

    Sorry, I forgot to reply here....
    Thanks for your help, it works now as expected with @nativescript/core 8.3.3!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions