File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
packages/core/src/signals/src Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -149,7 +149,9 @@ export abstract class ReactiveNode {
149149 for ( const [ producerId , edge ] of this . producers ) {
150150 const producer = edge . producerNode . deref ( ) ;
151151
152- if ( producer === undefined || edge . atTrackingVersion !== this . trackingVersion ) {
152+ // On Safari < 16.1 deref can return null, we need to check for null also.
153+ // See https://github.com/WebKit/WebKit/commit/44c15ba58912faab38b534fef909dd9e13e095e0
154+ if ( producer == null || edge . atTrackingVersion !== this . trackingVersion ) {
153155 // This dependency edge is stale, so remove it.
154156 this . producers . delete ( producerId ) ;
155157 producer ?. consumers . delete ( this . id ) ;
@@ -177,7 +179,10 @@ export abstract class ReactiveNode {
177179 try {
178180 for ( const [ consumerId , edge ] of this . consumers ) {
179181 const consumer = edge . consumerNode . deref ( ) ;
180- if ( consumer === undefined || consumer . trackingVersion !== edge . atTrackingVersion ) {
182+
183+ // On Safari < 16.1 deref can return null, we need to check for null also.
184+ // See https://github.com/WebKit/WebKit/commit/44c15ba58912faab38b534fef909dd9e13e095e0
185+ if ( consumer == null || consumer . trackingVersion !== edge . atTrackingVersion ) {
181186 this . consumers . delete ( consumerId ) ;
182187 consumer ?. producers . delete ( this . id ) ;
183188 continue ;
You can’t perform that action at this time.
0 commit comments