@@ -584,6 +584,8 @@ function attachYjsProvider() {
584584 const ySpriteArray = targets . map ( target => helper . serializeSpriteForYjs ( target ) ) ;
585585 sharedSprites . insert ( 0 , ySpriteArray ) ;
586586 } , constants . LOCAL_EVENT_SYNC_ORIGIN ) ;
587+
588+ helper . reconcileExtensionsToYjs ( ) ;
587589 } , 100 ) ;
588590 } ;
589591
@@ -637,8 +639,6 @@ function attachYjsProvider() {
637639 } ;
638640
639641 const handleExtensionAdded = ( extension ) => {
640- if ( constants . mutableRefs . BlocklyInstance ?. Events . getGroup ( ) === 'yjs-remote-sync' ) return ;
641-
642642 constants . mutableRefs . ydoc . transact ( ( ) => {
643643 const currentExts = constants . mutableRefs . sharedExtensions . toArray ( ) ;
644644 const alreadyExists = currentExts . some ( ext => {
@@ -650,6 +650,8 @@ function attachYjsProvider() {
650650 constants . mutableRefs . sharedExtensions . push ( [ extension ] ) ;
651651 }
652652 } , constants . LOCAL_EVENT_SYNC_ORIGIN ) ;
653+
654+ setTimeout ( ( ) => helper . reconcileExtensionsToYjs ( ) , 0 ) ;
653655 } ;
654656
655657 constants . mutableRefs . vm . on ( 'TARGET_BLOCKS_CHANGED' , handleTargetBlocksChanged ) ;
@@ -676,6 +678,7 @@ function attachYjsProvider() {
676678 collabUI . hideSyncingPopup ( ) ;
677679 timeout . resetInactivityTimers ( ) ;
678680 constants . mutableRefs . isInitialRoomSync = false ;
681+ helper . reconcileExtensionsToYjs ( ) ;
679682 setTimeout ( ( ) => {
680683 constants . mutableRefs . vm ?. emitTargetsUpdate ( false ) ;
681684 } , 500 ) ;
@@ -901,7 +904,7 @@ function attachYjsProvider() {
901904 constants . mutableRefs . vm . removeListener ( 'TARGETS_INDEX_CHANGED' , handleTargetsIndexChanged ) ;
902905 constants . mutableRefs . vm . removeListener ( 'ADD_SPRITE' , handleAddSprite ) ;
903906 constants . mutableRefs . vm . removeListener ( 'DELETE_SPRITE' , handleDeleteSprite ) ;
904- constants . mutableRefs . vm . removeListener ( 'EXTENSION_ADDED ' , handleExtensionAdded ) ;
907+ constants . mutableRefs . vm . removeListener ( 'COLLABORATION_EXTENSION_ADDED ' , handleExtensionAdded ) ;
905908
906909 collabUI . clearLocalChatMessage ( ) ;
907910 timeout . clearInactivityTimers ( ) ;
0 commit comments