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

feat(ios): add LiveView support to Hyperloop #12905

Merged
merged 6 commits into from Jul 27, 2021

Conversation

jquick-axway
Copy link
Contributor

@jquick-axway jquick-axway commented Jun 17, 2021

JIRA:

Summary:

  • Support running LiveView with Hyperloop.
    • No longer modifies JS files containing Hyperloop requires/imports. (This was the issue.)
    • Now injects a hyperloop.bootstrap.js providing bindings between native types to JS files.
    • Implemented the same way as Android, which supports LiveView as of Titanium 9.0.0.
  • Removed 3 year old native property access migration code.
  • Re-added 32-bit support needed by Titanium 9.x.x.
  • Updated Hyperloop module version to 7.0.4.
    • Module works with Titanium 9.2.0 and higher.

Note:
The following still won't work with LiveView because they require a native rebuild.

  • Adding libraries.
  • Adding Hyperloop.defineClass() calls. (Because it involves native code generation.)

Test:

  1. Add this PR's hyperloop module to hyperloop-examples.
  2. Build and run with LiveView: appc run -p ios --liveview
  3. Go to every window in the example app and verify it works as expected.
  4. While LiveView is running, open file: hyperloop-examples/app/controllers/ios/label.js
  5. Change variable infoString from 'We ♥ iOS' to 'We ♥ LiveView' and save.
  6. Verify app restarts without error.
  7. Go to the app's Label window and verify the text has been updated.
  8. Do an encrypted build with LiveView: appc run -p ios -D test --liveview
  9. Go to every window in the example app and verify it works as expected.

@build
Copy link
Contributor

build commented Jun 17, 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.
📖 ❌ 1 tests have failed There are 1 tests failing and 680 skipped out of 11849 total tests.

Tests:

ClassnameNameTimeError
android.emulator.Titanium.UI.WebViewprogress event (5.0.2)10.011
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 c109611

@jquick-axway jquick-axway added 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 Jul 22, 2021
Copy link
Collaborator

@ewanharris ewanharris left a comment

Choose a reason for hiding this comment

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

FR pass. Able to build to iPhone 5 using SDK 9.3.2 and hyperloop now, also liveview function as expected

@lokeshchdhry
Copy link
Contributor

FR Passed.
Liveview works fine with Hyperloop.

@sgtcoolguy sgtcoolguy merged commit c745323 into tidev:master Jul 27, 2021
@build
Copy link
Contributor

build commented Jul 27, 2021

The backport to 10_0_X failed:

The process 'git' failed with exit code 128

Check the run for full details
To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Check out the target branch
git checkout 10_0_X
# Make sure it's up to date
git pull
# Check out your branch
git checkout -b backport-12905-to-10_0_X
# Apply the commits from the PR
curl -s https://github.com/appcelerator/titanium_mobile/commit/a4964f3e4ab22fb9c732905ab23d5da10b23fe9b.patch | git am -3 --ignore-whitespace
curl -s https://github.com/appcelerator/titanium_mobile/commit/4af59b866c8dad8e2cea218c99a823ed1a04844d.patch | git am -3 --ignore-whitespace
curl -s https://github.com/appcelerator/titanium_mobile/commit/36102ca16e4081fff7ec5fba2ec14b66b47bba53.patch | git am -3 --ignore-whitespace
# Push it to GitHub
git push --set-upstream origin backport-12905-to-10_0_X

Then, create a pull request where the base branch is 10_0_X and the compare/head branch is backport-12905-to-10_0_X.

sgtcoolguy pushed a commit that referenced this pull request Jul 27, 2021
* hyperloop regression with encrypted builds
* re-add 32-bit support for Titanium 9.x.x

Fixes TIMOB-28461, TIMOB-28508
@ewanharris ewanharris removed backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge 10_0_X backport failed labels Aug 9, 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

5 participants