Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ios): unhandled native exceptions should show an error dialog #12721

Merged
merged 4 commits into from Jun 16, 2021

Conversation

jquick-axway
Copy link
Contributor

@jquick-axway jquick-axway commented Apr 14, 2021

JIRA:
https://jira.appcelerator.org/browse/TIMOB-28420

Summary:

  • Native exceptions invoked by JS should show an error dialog with a trace like Android.
  • Currently native exceptions like this are logged and then hard-crashes back to home screen..

Unhandled Native Exception Test:

  1. Build and run the below on iOS.
  2. Verify an exception dialog is shown. (Used to crash back to the home screen.)
Ti.Filesystem.openStream(0, false);

Unhandled JavaScript Exception Test:

  1. Build and run the below on iOS.
  2. Verify an exception dialog is shown.
Ti.uhOh();

@jquick-axway jquick-axway added ios bug no tests backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge labels Apr 14, 2021
@jquick-axway jquick-axway added this to the 10.1.0 milestone Apr 14, 2021
@build build requested a review from a team April 14, 2021 04:22
@build
Copy link
Contributor

build commented Apr 14, 2021

Fails
🚫 Tests have failed, see below for more information.
Messages
📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖 ❌ 4 tests have failed There are 4 tests failing and 966 skipped out of 16212 total tests.
📖

💾 Here's the generated SDK zipfile.

Tests:

ClassnameNameTimeError
android.emulator.Titanium.UI.View"after all" hook for "rgba fallback" (5.0.2)20.373
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)
android.emulator.Titanium.UI.View"after each" hook for "getOrCreateView() should always return a View" (5.0.2)10.361
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)
ios.iphone.Titanium.UI.WebViewbasic authentication should work properly (14.4.0)30.002
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)
ios.macos.Titanium.UI.Viewanimate width/height from zero (10.15.5)10.026
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)

Generated by 🚫 dangerJS against abc86d6

Copy link
Contributor

@sgtcoolguy sgtcoolguy left a comment

Choose a reason for hiding this comment

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

LGTM

@hansemannn
Copy link
Collaborator

Same here, tested and working well! Already cherry picked for a new production release :-)

@lokeshchdhry
Copy link
Contributor

FR Passed.

@sgtcoolguy sgtcoolguy merged commit 08da9d3 into tidev:master Jun 16, 2021
@build build removed the backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge label Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants