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

Do not process data returned by callbacks

    Details

    • Type: Improvement
    • Status: Open
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Environment:

      SDK 3.2.2.GA
      SDK 3.3.0.RC

      Description

      If a JavaScript callback - e.g. via Ti.*.addEventListener('event', fn); or Ti.Network.createHTTPClient({ onload: fn }); - returns a value, that value will be converted to a native object.

      If this is a large object this can crash the app, like demonstrated by the first button in this example app.

      I can't think of any use-case why the proxy needs the value the callback returns. So if there is a way to keep Kroll from converting it, this would help to prevent people from spending days - like we did - on nailing the crash.

      I'll publish a post on tiDev.io at 5pm UTC explaining this issue.

        Attachments

          Activity

            People

            • Assignee:
              penrique Pedro Enrique (Inactive)
              Reporter:
              fokkezb Fokke Zandbergen
            • Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:

                Backbone Issue Sync

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

                  Git Integration