You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This generally works: When the page loads, I get added events for every document in the collection. When a document changes, a single modified event fires. However, when a document is deleted, the next change batch includes a removed event (good) and also a modified event for every other element in the collection (bad). 🤔
Any idea why these extra modify events are happening + how to avoid all the extra reads? or is this all from the cache?
I've verified there's no actual change to the other documents in the collection. A single modified change mentions oldIndex and newIndex so I wonder if it's maybe trying to update the index of every element, but there isn't a sort order so any index is undefined anyways.
If it's helpful, as a test I tried the equivalent Firebase code:
@m-dierker Apologies on the delay here! I believe this is because collectionChanges() was updated sometime ago with the includeMetadataChanges option. This changes the behavior significantly because it accounts for metadata changes within the cache. The Firebase code you provided isn't exactly equivalent because you'd need to include that configuration as well. It also appears that the function was update with some custom code to surface the changes within documents. I didn't make these changes so I'll have to do some testing and see how we should handle this in the upcoming version as it would be a breaking change to modify it at this point.
Any news about this @davideast ? With current SDK version, current version of @angular/fire, collectionChanges observable ticks multiple times on deletion (one updated event and one removed).
Could the includeMetadataChanges: true be modifiable by passing a different value through collectioChanges option argument (defaulting to true if needed).
I have AngularFire/RxFire code similar to the following:
This generally works: When the page loads, I get
added
events for every document in the collection. When a document changes, a singlemodified
event fires. However, when a document is deleted, the next change batch includes aremoved
event (good) and also amodified
event for every other element in the collection (bad). 🤔Any idea why these extra modify events are happening + how to avoid all the extra reads? or is this all from the cache?
I've verified there's no actual change to the other documents in the collection. A single modified change mentions oldIndex and newIndex so I wonder if it's maybe trying to update the index of every element, but there isn't a sort order so any index is undefined anyways.
If it's helpful, as a test I tried the equivalent Firebase code:
This works as expected and only fires one
removed
event, which is why I think the bug is in RxFire.The text was updated successfully, but these errors were encountered: