angulardart / angular_components

The official Material Design components for AngularDart. Used at Google in production apps.
https://pub.dev/packages/angular_components
374 stars 123 forks source link

Modal: Assertion failed when GlobalModalStack is enabled. #460

Open muzuro opened 4 years ago

muzuro commented 4 years ago

I have enabled GlobalModalStack at root component level. I am getting this error when I am hiding modal 1 and displaying modal 2. I suspect it somehow related to fact that modal 1 is closed with Completer. Here is stacktrace:

dart_sdk.js:99585 EXCEPTION: Assertion failed: org-dartlang-app:///packages/angular_components/laminate/components/modal/modal.dart:33:12
_stack.last == modal
is not true
STACKTRACE: 
dart:sdk_internal                                                                assertFailed
package:angular_components/laminate/components/modal/modal.dart 33:32            onModalClosed
package:angular_components/laminate/components/modal/modal.dart 271:16           [_hideModalOverlay]
dart:sdk_internal                                                                dcall
package:angular_components/src/model/action/async_action_controller.dart 125:26  [_executeAndAttach]
package:angular_components/src/model/action/async_action_controller.dart 81:13   <fn>
package:stack_trace                                                              <fn>
package:angular/src/core/zone/ng_zone.dart 144:18                                <fn>
dart:sdk_internal                                                                runUnary
package:angular/src/core/zone/ng_zone.dart 141:18                                [_runUnary]
dart:sdk_internal                                                                <fn>
package:angular/src/core/zone/ng_zone.dart 117:11                                <fn>
package:stack_trace                                                              <fn>
package:angular/src/core/zone/ng_zone.dart 132:18                                <fn>
dart:sdk_internal                                                                run
package:angular/src/core/zone/ng_zone.dart 129:18                                [_run]

dart:sdk_internal                                                               then
package:angular_components/src/model/action/async_action_controller.dart 80:31  <fn>
package:stack_trace                                                             <fn>
package:angular/src/core/zone/ng_zone.dart 144:18                               <fn>
dart:sdk_internal                                                               runUnary
package:angular/src/core/zone/ng_zone.dart 141:18                               [_runUnary]
dart:sdk_internal                                                               <fn>
package:angular/src/core/zone/ng_zone.dart 117:11                               <fn>
package:stack_trace                                                             <fn>
package:angular/src/core/zone/ng_zone.dart 132:18                               <fn>
dart:sdk_internal                                                               run
package:angular/src/core/zone/ng_zone.dart 129:18                               [_run]

dart:sdk_internal                                                               then
package:angular_components/src/model/action/async_action_controller.dart 74:30  <fn>
package:stack_trace                                                             <fn>
package:angular/src/core/zone/ng_zone.dart 132:18                               <fn>
dart:sdk_internal                                                               run
package:angular/src/core/zone/ng_zone.dart 129:18                               [_run]
dart:sdk_internal                                                               <fn>
package:angular/src/core/zone/ng_zone.dart 117:11                               <fn>
package:stack_trace                                                             <fn>
package:angular/src/core/zone/ng_zone.dart 132:18                               <fn>
dart:sdk_internal                                                               run
package:angular/src/core/zone/ng_zone.dart 129:18                               [_run]

dart:sdk_internal                                                               microtask
package:angular_components/src/model/action/async_action_controller.dart 67:19  execute
package:angular_components/laminate/components/modal/modal.dart 321:17          close
package:angular_components/laminate/components/modal/modal.dart 339:7           set visible
package:app_web/src/common_dialog_component.template.dart 621:28                detectChangesInternal
package:angular/src/core/linker/app_view.dart 384:7                             detectChanges
package:app_web/app_component.template.dart 117:17                              detectChangesInternal
package:angular/src/core/linker/app_view.dart 384:7                             detectChanges
package:app_web/app_component.template.dart 552:17                              detectChangesInternal
package:angular/src/core/linker/app_view.dart 384:7                             detectChanges
package:angular/src/core/change_detection/host.dart 164:18                      [_runTick]
package:angular/src/core/change_detection/host.dart 140:7                       tick
package:angular/src/core/zone/ng_zone.dart 132:18                               <fn>
dart:sdk_internal                                                               run
package:angular/src/core/zone/ng_zone.dart 129:18 

I am using following versions:

dependencies:
  angular: ^5.3.0
  angular_components: ^0.13.0
tudor07 commented 4 years ago

Any updates on this? I have the same issue