Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-28079

Android: ACA module no longer loaded first on startup as of 8.1.0

    Details

    • Story Points:
      3
    • Sprint:
      2020 Sprint 22

      Description

      Summary:
      The ACA (AMPLIFY Crash Analytics) module, if included, was intended to be loaded on app startup before requiring/importing any other JS file on app startup. This way, if a crash occurs in any of the operations that happen before the "app.js" gets loaded, it will be handled by the ACA module. This is no longer happening as of Titanium 8.1.0.

      Cause:
      Most of the JS files loaded in our "ti.main.js" were switched over from using require() to import statements as of Titanium 8.1.0. JavaScript's import statements are "hoisted", which means they are effectively executed at the top of the source file and not where they're actually written.
      https://github.com/appcelerator/titanium_mobile/blob/master/common/Resources/ti.main.js

      When you do a build of the SDK, you can see the babel transpiled/polyfilled result in the following directories. Here you can see the actual load order.

      titanium_mobile/dist/tmp/common/Resources/<Platform>/ti.main.js
      

        Attachments

          Activity

            People

            • Assignee:
              gmathews Gary Mathews
              Reporter:
              jquick Joshua Quick
              Reviewer:
              Joshua Quick
              Tester:
              Lokesh Choudhary
            • Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                  Git Integration