File tree Expand file tree Collapse file tree 3 files changed +25
-9
lines changed
expo-example/ios/expoexample.xcodeproj Expand file tree Collapse file tree 3 files changed +25
-9
lines changed Original file line number Diff line number Diff line change 367367 );
368368 OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
369369 PRODUCT_BUNDLE_IDENTIFIER = "com.couchbase.rn.expo-example";
370- PRODUCT_NAME = expoexample;
370+ PRODUCT_NAME = " expoexample" ;
371371 SWIFT_OBJC_BRIDGING_HEADER = "expoexample/expoexample-Bridging-Header.h";
372372 SWIFT_OPTIMIZATION_LEVEL = "-Onone";
373373 SWIFT_VERSION = 5.0;
395395 );
396396 OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
397397 PRODUCT_BUNDLE_IDENTIFIER = "com.couchbase.rn.expo-example";
398- PRODUCT_NAME = expoexample;
398+ PRODUCT_NAME = " expoexample" ;
399399 SWIFT_OBJC_BRIDGING_HEADER = "expoexample/expoexample-Bridging-Header.h";
400400 SWIFT_VERSION = 5.0;
401401 TARGETED_DEVICE_FAMILY = "1,2";
Original file line number Diff line number Diff line change @@ -1197,13 +1197,18 @@ func replicator_AddDocumentChangeListener(
11971197 }
11981198 backgroundQueue. async {
11991199 if let listener = self . replicatorChangeListeners [ token] as? ListenerToken {
1200- replicator. removeChangeListener ( withToken: listener)
1201- self . replicatorChangeListeners. removeValue ( forKey: token)
1202- resolve ( nil )
1203-
1204- } else {
1205- reject ( " REPLICATOR_ERROR " , " No such replicator listener found with token \( token) " , nil )
1206- }
1200+ replicator. removeChangeListener ( withToken: listener)
1201+ self . replicatorChangeListeners. removeValue ( forKey: token)
1202+ resolve ( nil )
1203+ return
1204+ } else if let listener = self . replicatorDocumentChangeListeners [ token] as? ListenerToken {
1205+ replicator. removeChangeListener ( withToken: listener)
1206+ self . replicatorDocumentChangeListeners. removeValue ( forKey: token)
1207+ resolve ( nil )
1208+ return
1209+ } else {
1210+ reject ( " REPLICATOR_ERROR " , " No such listener found with token \( token) " , nil )
1211+ }
12071212
12081213 }
12091214 }
Original file line number Diff line number Diff line change @@ -1145,6 +1145,17 @@ export class CblReactNativeEngine implements ICoreEngine {
11451145 replicator_RemoveChangeListener (
11461146 args : ReplicationChangeListenerArgs
11471147 ) : Promise < void > {
1148+ if ( this . _replicatorDocumentChangeListeners . has ( args . changeListenerToken ) ) {
1149+ this . _replicatorDocumentChangeListeners . delete ( args . changeListenerToken ) ;
1150+ // Remove any subscription with the doc suffix
1151+ if ( this . _emitterSubscriptions . has ( args . changeListenerToken + '_doc' ) ) {
1152+ this . _emitterSubscriptions
1153+ . get ( args . changeListenerToken + '_doc' )
1154+ ?. remove ( ) ;
1155+ this . _emitterSubscriptions . delete ( args . changeListenerToken + '_doc' ) ;
1156+ }
1157+ }
1158+
11481159 //remove the event subscription or you will have a leak
11491160 if ( this . _emitterSubscriptions . has ( args . changeListenerToken ) ) {
11501161 this . _emitterSubscriptions . get ( args . changeListenerToken ) ?. remove ( ) ;
You can’t perform that action at this time.
0 commit comments