Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Mobile Safari - patchTimer breaks for Angular 1 ngAnimate #626

@d-nation

Description

@d-nation

I have an Angular 2 app that bootstraps an Angular 1 app using the upgrade-downgrade system. The Angular 1 app uses ngAnimate which seems to be breaking zone.js in mobile safari.
angular.js:13920Error: undefined is not an object (evaluating 'handle.ref')

I'm not very familiar with zone.js, but as best as I can tell, mobile safari's requestAnimation is sending zone a task with no handleId (It breaks here: https://github.com/angular/zone.js/blob/master/dist/zone.js#L1402 and upon inspection, task.data.handleId is undefined).

Is there a polyfill or helper library that I'm missing? I'm currently using the core-js shims.

Thanks!
Dustin

Here's the full stacktrace in case its helpful:

angular.js:13920Error: undefined is not an object (evaluating 'handle.ref') http://localhost:8889/main.bundle.js:64904:27 requestAnimationFrame http://localhost:8889/bower_components/angular/angular.js:16702:41 waitForTick@http://localhost:8889/bower_components/angular/angular.js:5669:12 http://localhost:8889/bower_components/angular/angular.js:5679:18 AnimateRunner@http://localhost:8889/bower_components/angular/angular.js:5736:38 queueAnimation@http://localhost:8889/bower_components/angular-animate/angular-animate.js:2447:39 push@http://localhost:8889/bower_components/angular-animate/angular-animate.js:2391:30 enter@http://localhost:8889/bower_components/angular/angular.js:5457:35 http://localhost:8889/bower_components/angular-route/angular-route.js:1013:29 publicLinkFn@http://localhost:8889/bower_components/angular/angular.js:8499:43 lazyCompilation@http://localhost:8889/bower_components/angular/angular.js:8844:30 boundTranscludeFn@http://localhost:8889/bower_components/angular/angular.js:8637:28 controllersBoundTransclude@http://localhost:8889/bower_components/angular/angular.js:9385:37 update@http://localhost:8889/bower_components/angular-route/angular-route.js:1012:36 $broadcast@http://localhost:8889/bower_components/angular/angular.js:18005:33 http://localhost:8889/bower_components/angular-route/angular-route.js:652:36 processQueue@http://localhost:8889/bower_components/angular/angular.js:16383:30 http://localhost:8889/bower_components/angular/angular.js:16399:39 $eval@http://localhost:8889/bower_components/angular/angular.js:17682:28 $digest@http://localhost:8889/bower_components/angular/angular.js:17495:36 $apply@http://localhost:8889/bower_components/angular/angular.js:17790:31 bootstrapApply@http://localhost:8889/bower_components/angular/angular.js:1761:21 invoke@http://localhost:8889/bower_components/angular/angular.js:4718:24 doBootstrap@http://localhost:8889/bower_components/angular/angular.js:1759:20 bootstrap@http://localhost:8889/bower_components/angular/angular.js:1779:23 http://localhost:8889/main.bundle.js:56398:101 invoke@http://localhost:8889/main.bundle.js:63743:31 onInvoke@http://localhost:8889/main.bundle.js:24799:43 invoke@http://localhost:8889/main.bundle.js:63742:40 run@http://localhost:8889/main.bundle.js:63614:49 run@http://localhost:8889/main.bundle.js:24689:65 bootstrap@http://localhost:8889/main.bundle.js:56398:24 http://localhost:8889/main.bundle.js:44409:22 invoke@http://localhost:8889/main.bundle.js:63743:31 run@http://localhost:8889/main.bundle.js:63614:49 http://localhost:8889/main.bundle.js:64036:60 invokeTask@http://localhost:8889/main.bundle.js:63776:40 runTask@http://localhost:8889/main.bundle.js:63652:57 drainMicroTaskQueue@http://localhost:8889/main.bundle.js:63934:42 PromiseResolutionHandlerFunction@[native code] (anonymous function) — angular.js:13920 (anonymous function) — angular.js:10467 $broadcast — angular.js:18007 (anonymous function) — angular-route.js:652 processQueue — angular.js:16383 (anonymous function) — angular.js:16399 $eval — angular.js:17682 $digest — angular.js:17495 $apply — angular.js:17790 bootstrapApply — angular.js:1761 invoke — angular.js:4718 doBootstrap — angular.js:1759 bootstrap — angular.js:1779 (anonymous function) — main.bundle.js:72866 invoke — main.bundle.js:82058 onInvoke — main.bundle.js:32061 invoke — main.bundle.js:82057 run — main.bundle.js:81919 run — main.bundle.js:31928 bootstrap — main.bundle.js:72864 (anonymous function) — main.bundle.js:57221 invoke — main.bundle.js:82058 run — main.bundle.js:81919 (anonymous function) — main.bundle.js:82352 invokeTask — main.bundle.js:82091 runTask — main.bundle.js:81963 drainMicroTaskQueue — main.bundle.js:82249 PromiseResolutionHandlerFunction

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