diff options
author | Michael Lehenbauer <mikelehen@gmail.com> | 2018-01-27 15:03:05 -0800 |
---|---|---|
committer | Gil <mcg@google.com> | 2018-01-27 15:03:05 -0800 |
commit | 4d7c9733691396503d9abc413cb6c8547ab938c5 (patch) | |
tree | acba2369e37719e06c2483e5c7819e1b32956317 /.travis.yml | |
parent | af6976a907b0d2a9fadbb14d7258bab44f075364 (diff) |
Fix b/72502745: OnlineState changes cause limbo document crash. (#470) (#714)
[PORT OF https://github.com/firebase/firebase-js-sdk/pull/470]
Context: I made a previous change to raise isFromCache=true events when the
client goes offline. As part of this change I added an assert for
"OnlineState should not affect limbo documents", which it turns out was not
valid because:
* When we go offline, we set the view to non-current and call
View.applyChanges().
* View.applyChanges() calls applyTargetChange() even though there's no target
change and it recalculates limbo documents.
* When the view is not current, we consider no documents to be in limbo.
* Therefore all limbo documents are removed and so applyChanges() ends up
returning unexpected LimboDocumentChanges.
Fix: I've modified the View logic so that we don't recalculate limbo documents
(and generate LimboDocumentChanges) when the View is not current, so now my
assert holds and there should be less spurious removal / re-adding of limbo
documents.
Diffstat (limited to '.travis.yml')
0 files changed, 0 insertions, 0 deletions