@@ -2672,7 +2672,10 @@ var Gmail = function(localJQuery) {
2672
2672
// for specified classes (as defined in api.tracker.dom_observers above) which indicate
2673
2673
// related actions which need triggering
2674
2674
$ ( window . document ) . on ( "DOMNodeInserted" , function ( e ) {
2675
- api . tools . insertion_observer ( e . target , api . tracker . dom_observers , api . tracker . dom_observer_map ) ;
2675
+ // Yield to allow Gmail render to complete
2676
+ setTimeout ( ( ) => {
2677
+ api . tools . insertion_observer ( e . target , api . tracker . dom_observers , api . tracker . dom_observer_map ) ;
2678
+ } )
2676
2679
} ) ;
2677
2680
2678
2681
// recipient_change also needs to listen to removals
@@ -2774,11 +2777,13 @@ var Gmail = function(localJQuery) {
2774
2777
}
2775
2778
2776
2779
// if an element has been found, execute the observer handler (or if none defined, execute the callback)
2777
- if ( element . length ) {
2778
-
2780
+ if ( element . length ) {
2779
2781
var handler = config . handler ? config . handler : function ( match , callback ) { callback ( match ) ; } ;
2780
- // console.log( "inserted DOM: class match in watchdog",observer,api.tracker.watchdog.dom[observer] );
2781
- api . observe . trigger_dom ( observer , element , handler ) ;
2782
+ var idx ;
2783
+ for ( idx = 0 ; idx < element . length ; idx ++ ) {
2784
+ // console.log( "inserted DOM: class match in watchdog",observer,api.tracker.watchdog.dom[observer] );
2785
+ api . observe . trigger_dom ( observer , $ ( element [ idx ] ) , handler ) ;
2786
+ }
2782
2787
}
2783
2788
}
2784
2789
}
0 commit comments