With the 0.23.0 release Apollo changed the way it stores keys in the QueryWatcher https://github.com/apollographql/apollo-ios/blob/main/Sources/Apollo/GraphQLQueryWatcher.swift#L73-L83
The problem with this is that the watcher doesn't update its dependentKeys like it should. There is a commit that does that but I couldn't follow why it was changed:
2b07e69
The problem that we are experiencing is that we are updating a query in the store with ReadWriteTransaction and in the previous versions the updated query captured the newly dependent keys, therefore when a change occured it was propagated to the result handler and now it's not.
What's the reason behind this change and how can we workaround this? Was there a problem with the previous implementation in 0.22.0 https://github.com/apollographql/apollo-ios/blob/0.22.0/Sources/Apollo/GraphQLQueryWatcher.swift#L66-L68
With the
0.23.0release Apollo changed the way it stores keys in theQueryWatcherhttps://github.com/apollographql/apollo-ios/blob/main/Sources/Apollo/GraphQLQueryWatcher.swift#L73-L83The problem with this is that the watcher doesn't update its
dependentKeyslike it should. There is a commit that does that but I couldn't follow why it was changed:2b07e69
The problem that we are experiencing is that we are updating a query in the store with
ReadWriteTransactionand in the previous versions the updated query captured the newly dependent keys, therefore when a change occured it was propagated to the result handler and now it's not.What's the reason behind this change and how can we workaround this? Was there a problem with the previous implementation in 0.22.0 https://github.com/apollographql/apollo-ios/blob/0.22.0/Sources/Apollo/GraphQLQueryWatcher.swift#L66-L68