Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firestore swift Codable support #3198

Merged
10 commits merged into from
Jun 19, 2019
Merged

Firestore swift Codable support #3198

10 commits merged into from
Jun 19, 2019

Conversation

ghost
Copy link

@ghost ghost commented Jun 17, 2019

Implements encoder/decoder that can translate custom Codable types to firestore documents.

Support for DocumentReference/convenient api from API/FieldValue/ExplicitNull will be in future PRs.

@ghost ghost requested a review from wilhuff June 17, 2019 01:49
scripts/style.sh Outdated Show resolved Hide resolved
Copy link
Contributor

@maksymmalyhin maksymmalyhin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am happy to see more Swift support being implemented!

Firestore/Swift/Tests/Codable/CodableTimestampTests.swift Outdated Show resolved Hide resolved
Firestore/Swift/Tests/Codable/CodableTimestampTests.swift Outdated Show resolved Hide resolved
Copy link
Contributor

@wilhuff wilhuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still hard to see in the diffs you've presented which parts of the encoder and decoder have been changed. That is, if the first commit contained a copy of JSONEncoder in a file named FirestoreEncoder.swift and another copy in FirestoreDecoder.swift then we'd be able to see the next commit as just changing those files. As it stands this just shows you deleting JSONEncoder.swift and adding those other files as if they're brand new.

Firestore/Example/Firestore.xcodeproj/project.pbxproj Outdated Show resolved Hide resolved
Firestore/Swift/Tests/BridgingHeader.h Outdated Show resolved Hide resolved
Firestore/Swift/Tests/Codable/CodableDocumentTests.swift Outdated Show resolved Hide resolved
Firestore/Swift/Tests/Codable/CodableDocumentTests.swift Outdated Show resolved Hide resolved
Firestore/Swift/Tests/Codable/CodableDocumentTests.swift Outdated Show resolved Hide resolved
Firestore/Swift/Tests/Codable/CodableDocumentTests.swift Outdated Show resolved Hide resolved
}

func testEcodingEncodableArrayNotSupported() {
struct Model: Codable, Equatable {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this actually need to be enforced by the Encoder? I can see someone using the Encoder directly to incrementally build things up into a larger value. Enforcing this here prevents doing that kind of thing with arrays.

This is already enforced at the point where we parse the value in FSTUserDataConverter.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because the return type is [String:Any], there is no meaningful way to encode an array into that.

We could add an overload to return [[String:Any]] instead. Is that what you have in mind?

@bklimt
Copy link
Contributor

bklimt commented Jun 17, 2019

One concern I have here is that we had been thinking about moving Timestamp into a separate package so that it could be shared by more SDKs than just Firestore. We had determined that would not be a breaking change. Will this change make that more difficult?

Copy link
Author

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebased to make JSONEncoder.swift comparison more meaningful..

@ghost ghost assigned ghost and wilhuff and unassigned ghost Jun 18, 2019
@ghost
Copy link
Author

ghost commented Jun 18, 2019

One concern I have here is that we had been thinking about moving Timestamp into a separate package so that it could be shared by more SDKs than just Firestore. We had determined that would not be a breaking change. Will this change make that more difficult?

The Codable impl for Timestamp should work with any encoder/decoder, only FirestoreEncoder treats them specially. It should be able to move them around without breaking anything, IMHO.

@ghost ghost force-pushed the wuandy/FirestoreCodable branch from 61dae20 to 3676ff4 Compare June 18, 2019 20:12
Copy link
Contributor

@wilhuff wilhuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One concern I have here is that we had been thinking about moving Timestamp into a separate package so that it could be shared by more SDKs than just Firestore. We had determined that would not be a breaking change. Will this change make that more difficult?

The Codable impl for Timestamp should work with any encoder/decoder, only FirestoreEncoder treats them specially. It should be able to move them around without breaking anything, IMHO.

The issue will be how to handle when another SDK wants to also implement Codable support without breaking existing users.

The way we'll have to handle it is that Firestore would register its own protocol that extends the common protocol for this such that we can effectively re-export the conformance to Codable without duplicating the implementation (or forcing our users to add another import).

@wilhuff
Copy link
Contributor

wilhuff commented Jun 18, 2019

We can make progress on this without having fully resolved how to handle Timestamp moving to a common library. We will have to resolve that question before we can release this though.

@ghost ghost merged commit 1de21a8 into master Jun 19, 2019
wilhuff pushed a commit that referenced this pull request Sep 13, 2019
FirestoreEncoder/Decoder and Timestamp/GeoPoint codable support.
wilhuff pushed a commit that referenced this pull request Sep 26, 2019
FirestoreEncoder/Decoder and Timestamp/GeoPoint codable support.
renkelvin added a commit that referenced this pull request Sep 30, 2019
commit 62c4fa30d2b1ec52d556a6ae5a4b97009bd7d5fa
Author: Gil <[email protected]>
Date:   Mon Sep 30 13:17:53 2019 -0700

    Migrate FSTQueryListenerTests to C++ (#3901)

commit 9ec602efcbc72c58683185ebead73aa0f6fd8327
Author: Gil <[email protected]>
Date:   Mon Sep 30 11:26:42 2019 -0700

    Migrate FSTViewTests to C++ (#3900)

    * Add view testing utilities

    * Copy FSTViewTests.mm to view_test.cc unchanged

    * Migrate FSTViewTests to C++

commit 0aacd2864250565060d5fcd3ed52de5dca917589
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 30 10:46:31 2019 -0700

    Travis to Xcode 11.0 (#3944)

commit 865e2896141808b30dba0f776ec69a33eb8f9a21
Author: dmandar <[email protected]>
Date:   Fri Sep 27 23:02:42 2019 -0700

    Fix an issue around deleting records from the database. (#3926)

    * Assign weakself to self.

    * Add unit test.

    * Style fixes.

    * Address review comments.

    * Review comments.

commit c2959919556b92b087bbbe509283f855c46af000
Author: Ryan Wilson <[email protected]>
Date:   Fri Sep 27 16:45:27 2019 -0400

    Fix Networking to receive data for POST requests (#3940)

    * Fix Networking to receive data for POST requests

    Currently,  GULNetworking doesn't receive the data when sending a POST request.

    Tracked internally at b/141712804

    * Added unit tests.

    * Update to handle the small data increments.

commit 104429929fc6af7931b1c3d1c2b7c3b741456fe1
Merge: 16885d21f 3185ff61d
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 27 12:29:37 2019 -0700

    Merge branch 'master' into codable-master

commit 3185ff61d55cf1abb1d5ddb40a0a4cdc67019653
Author: Gil <[email protected]>
Date:   Fri Sep 27 12:25:34 2019 -0700

    Add Expectations and Async/Await for testing (#3899)

    * Add Expectations and Async/Await for testing

    * Migrate async tests to Expectations and Async/Await

commit ac42675a03b02bbe8ae2df001bdacaeeb62b82a6
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 27 09:58:59 2019 -0700

    CocoaPods 1.8.1 (#3939)

commit 16885d21f48493567ddbfbc4e60e0ec648eef504
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 13:11:34 2019 -0700

    Migrate to encoders in third_party/FirestoreEncoder

commit b45bd79ec3d6164ff4c7e34da47b220f21bf36fe
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 09:26:59 2019 -0400

    Add @DocumentId equivalent to Swift Codable (#3762)

    * Commit with failed optional test case.

    * Integration Test and cleanup

    * swiftformat

    * better doc formatting

    * addressing comments

    * rename to SelfDocumentID

    * Addressing Comments

    * fix comment

commit d709b9f2b5d1e5e990380ff97d6510e74a474002
Author: Hui-Wu <[email protected]>
Date:   Fri Jun 28 15:07:52 2019 -0400

    Allow firestore api to work with Codable objects + ExplicitNull + Integration tests (#3261)

    * Convinience api for codables

    * Integration Tests

    * ExplicitNull implementation

commit 390966620a28b0a012fc847692ed41de455e80ab
Author: Morgan Chen <[email protected]>
Date:   Tue Jun 25 10:47:59 2019 -0700

    Fix token fetch not invoking callback for unchanged token (#3251)

commit 34023c30ea8a98854f522f705010f890866c1017
Author: Hui-Wu <[email protected]>
Date:   Mon Jun 24 16:18:30 2019 -0400

    FieldValue and DocumentReference codable support. (#3231)

    * working serverTimestamp

    * working FieldValue. Still need: document ref and ability to Eq of FieldValue

    * DocumentReference implemented and testing works

    * clean up header search path

    * improving FieldValue enum comments

    * run through formatting

    * addressing comments

    * formatted with swiftformat 0.35.7

    * add missing bool->BOOL change

    * undo unintended swift version change

    * remove unwanted proj file change

commit 5fdfc9d413f1f8f513533ff69a30deaec6c1e986
Author: Hui-Wu <[email protected]>
Date:   Wed Jun 19 10:00:17 2019 -0400

    Firestore swift Codable support (#3198)

    FirestoreEncoder/Decoder and Timestamp/GeoPoint codable support.

commit f7d26168ca7ec74f8200a3b0e4384abce372d95c
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 13:02:06 2019 -0700

    Rename JSONEncoder; prep for split

commit 75a8356c98d774743d488f6f03d2a79ed05453b9
Author: Gil <[email protected]>
Date:   Thu Sep 26 11:41:47 2019 -0700

    Upgrade GoogleTest to 1.8.1 (#3898)

    This gives access to testing::ScopedTrace, which was previously
    internal.

commit 2bf754257327dd69ffc14a95a500320af78c7fe9
Author: Gil <[email protected]>
Date:   Thu Sep 26 11:03:05 2019 -0700

    Pristine copy of JSONEncoder.swift (#3794)

    From
    https://github.com/apple/swift/commit/3391b746d9fb36d7bbf428bdc3f5f69e2bb9ac6f
    pulled with the tag swift-DEVELOPMENT-SNAPSHOT-2019-09-04-a.

commit 971445ce3596d99e91dbacb7656d7352d26ed08c
Author: Gil <[email protected]>
Date:   Thu Sep 26 10:41:36 2019 -0700

    Add cross-platform support for creating Executors (#3897)

    * Add Executor::CreateSerial

    ... a standard way to create an Executor for most cases where we don't
    care about the implementation.

    * Add ExecutorForTesting/AsyncQueueForTesting

    Uses Executor::CreateSerial to do the heavy lifting.

    * Use AsyncQueueForTesting

    * Avoid direct references to ExecutorLibdispatch in prod code

    * Rewrite time_testing in terms of absl::Time

    * Migrate async_test_util's now to time_testing

    * Fix AddressSanitizer stack-buffer-underflow error

    This was reading random data off the stack until it hit a negative
    integer's worth of data. The test passed because this was generating the
    input and expected values, which were much longer than expected given
    the input.

commit b389b8bdec235a6e7159e6ed91e1e0ee7d4ea233
Author: Matthias Blom <[email protected]>
Date:   Thu Sep 26 17:54:21 2019 +0200

    Set suppressMessageDisplay on displayExecutor (#3922)

commit 5356a257867537845b357b5f9f8cd944b69ceee3
Author: Gil <[email protected]>
Date:   Wed Sep 25 11:17:57 2019 -0700

    Better fix for typos in FIRDocumentSnapshot.h (#3923)

    Actually fixes #3873.

commit 2d161711ff445d7cc87d442bbe1ac3ad93fa648b
Author: Gil <[email protected]>
Date:   Tue Sep 24 18:32:03 2019 -0700

    Fix typos in FIRDocumentSnapshot.h (#3920)

    Fixes #3873.

commit 9ced69b6759f891ed8eef3b605a51f38f6c31585
Author: Konstantin Varlamov <[email protected]>
Date:   Tue Sep 24 18:43:19 2019 -0400

    Make `Serializer` fully support converting `FieldValue`s (#3659)

    This involved support for reference values and taking server timestamps into account (by crashing, because they are not supposed to ever be serialized).

    The biggest change is from making every function that decodes a `FieldValue` a member function (as well as any function called by those functions). That is because decoding a reference requires comparing database IDs, and the database ID of this Firestore instance is stored on the `Serializer`.

commit 01f49c3f792235359a9aa3de844b485bd150f764
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 24 10:29:51 2019 -0700

    Use at least Protobuf 3.9.2 (#3916)

commit 21fa390c4b353fcb9e2a070421d8076c87e76147
Author: Ryan Wilson <[email protected]>
Date:   Tue Sep 24 11:01:45 2019 -0400

    Fix nanopb dependencies for CoreDiagnostics. (#3914)

commit 22928dd30ef4797493b55ca6f58ce94ac0953b79
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:41:58 2019 -0700

    Fix ubsan issues in GDT (#3910)

commit ec63b6657d14e2508340c9b8b3a366a24c02f305
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:02:54 2019 -0700

    Update to CocoaPods 1.8.0 (#3908)

commit 526572d04c8351f28ede6af377a61621c2f9a594
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:00:54 2019 -0700

    Increase timeout to fix travis failure (#3909)

commit fb353c22d4443521a2d2ab3b86e981dbc98004a0
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 10:41:33 2019 -0700

    Merge 6.9.0 (#3907)

    * Update versions for Release 6.9.0

    * Fix unbalanced background task creation in GDTCCTUploader (#3838) (#3839)

    * Add Manifest

    * dependency version update

    * Cherry picks for 6.9.0 (#3871)

    * fixed "expiclitlySet" typo. (#3853)

    * Mark unused variables (#3854)

    * Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)

    * Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)

commit b1eb602ef4a8906c3e9387f87119e33ed4680319
Author: Brian Chen <[email protected]>
Date:   Fri Sep 20 16:30:11 2019 -0400

    Rename spec test functions (#3895)

commit 9d230de9c002e9564e3464b42d0186ba57a8e43c
Author: Brian Chen <[email protected]>
Date:   Fri Sep 20 14:15:57 2019 -0400

    Adding onSnapshotsInSync (not public) (#3850)

commit bf9cb5eee075e9c51798ba9653a9d9864d8be9ba
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 19 17:56:08 2019 -0400

    Add a product to the SwiftPM manifest. (#3889)

commit 56f503b60410018005d210cfb427fdf589d0fad9
Author: Paul Beusterien <[email protected]>
Date:   Thu Sep 19 14:54:01 2019 -0700

    Fix GULMutableDictionary keyed subscript methods (#3882)

commit 520c8d66e4e7e6c0619da174789e0f4882454e34
Author: Chuan Ren <[email protected]>
Date:   Thu Sep 19 11:11:16 2019 -0700

    Add ERROR_DYNAMIC_LINK_NOT_ACTIVATED and ERROR_REJECTED_CREDENTIAL (#3881)

commit 72d2cd8d6ff99d09f8f69412f2c98cf41c1d4dcf
Author: wu-hui <[email protected]>
Date:   Thu Sep 19 12:07:29 2019 -0400

    Add move operations to Status. (#3773)

commit 209c90b46ea61c4e548862d63d0393fe24a792a1
Author: Maksym Malyhin <[email protected]>
Date:   Wed Sep 18 17:30:47 2019 -0400

    ZipBuilder: move ManifestReader to a separate package to be reusable. (#3880)

    * ZipBuilder: move release manifest to a separate package to be reusable.

    * ZipBuilder: Remove unnecessary products definitions.

    * Move FirebaseSDKs.proto to Sources/ManifestReader

    * Update README for protobuf.

commit 5bfd69c514c113155902a256d4a61b93d06615f5
Author: Ryan Wilson <[email protected]>
Date:   Wed Sep 18 14:35:35 2019 -0400

    Fix release candidate parsing naming (#3879)

commit b48636bf52b87c36c67c12e3e8e154bc5f98232c
Author: wu-hui <[email protected]>
Date:   Wed Sep 18 14:00:32 2019 -0400

    Port local store to C++ 2/2 (#3865)

    Complete LocalStore port.

commit 538cdfd10f4d2d0d2c85de305ceaa6f8f33395bf
Author: Gil <[email protected]>
Date:   Wed Sep 18 10:06:35 2019 -0700

    Clean up Objective-C remnants (#3866)

    * Remove references to removed classes

    * Remove references to FSTSyncEngine

    * Fix references to Objective-C names that are no longer valid.

    * Remove forward declarations to classes that don't exist

    * Remove FSTTypes.h

    * Remove usages of headers that no longer apply

    * Clean up header imports

    * Remove traces of Objective-C from api/firestore.{h,mm}

    * Strip NS_ASSUME_NONNULL directives that don't apply

    * Remove FSTSyncEngine.h

commit 2dde2e2aa7285f48ef5aa4e36ec4df92489ceb34
Author: Michael Haney <[email protected]>
Date:   Wed Sep 18 01:11:02 2019 -0700

    Add support for FLL (#3867)

    All data format is with regard to CCT, so renaming wasn't very necessary except in tests.

    - Ensures that test event generation creates files, not uses existing ones
    - Implements prioritizer and uploader for FLL server
      - Main diff from CCT is needing gzipped data and api key
    - With the sqlite refactor, this will be more consolidated

commit 0ba2d76302920328dda87d9c418277716bf27c75
Author: wu-hui <[email protected]>
Date:   Tue Sep 17 22:12:36 2019 -0400

    Port local store to C++ 1/2 (#3833)

    Creates `LocalStore` in C++ and make `FSTLocalStore` delegating all work to that.

commit 6be7fc0d7dd047dc26dce1937e55bac2d9050e4d
Author: Ryan Wilson <[email protected]>
Date:   Tue Sep 17 13:23:21 2019 -0400

    Fix relative path for headers. (#3872)

    * Fix relative path for headers.

    * Style fixes.

commit 944a1540a2e50067ac54de98368b1f4dc64c43ab
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 23:36:58 2019 -0400

    Fix file prefix on CI. (#3868)

commit 9928f48866526afb079fd8bf8afef9bceb0e1ca3
Author: dmandar <[email protected]>
Date:   Mon Sep 16 19:11:00 2019 -0700

    Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)

commit 4cc54502f56f1ee09ea2c21c05fffc3b064e3d06
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 13:56:39 2019 -0400

    Add argument for build root override. (#3864)

    This will allow CI to give a directory on a volume that has more storage
    space, allowing the build to succeed.

commit 59db09740c8fd9de9d69842e8d37f7fce1f96208
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 10:55:20 2019 -0700

    Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)

commit 0a72c7251bdd81eb041de124235b9037fc0b43c9
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 10:38:26 2019 -0400

    Allow Zip build to continue if Carthage fails. (#3863)

commit 6038d5a2362800454278c132e7c2cffe3358476f
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 07:15:07 2019 -0700

    Mark unused variables (#3854)

commit 0eac94517601beb2636c294f145beaef9d29a684
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 06:34:45 2019 -0700

    Fix typo (#3848)

commit c917c87165304484c0e23568784e9e2e38a24535
Author: square <[email protected]>
Date:   Sat Sep 14 22:22:44 2019 +0800

    fixed "expiclitlySet" typo. (#3853)

commit 409905d535e2586cb1edb0c65f291de9eda97e46
Author: Sebastian Schmidt <[email protected]>
Date:   Fri Sep 13 14:13:11 2019 -0700

    Change the order of checks in applyRemoteEvent() (#3847)

commit 8af6e47a1be029af5a343294d01bffea1187a0b1
Author: Michael Haney <[email protected]>
Date:   Fri Sep 13 13:26:31 2019 -0700

    Enable app_specs and monkey test if GDT_DEV is 1 (#3845)

    * Enable app_specs and monkey test if GDT_DEV is 1

    Also address GDT renaming in the test app.

    * Fix indentation

commit 3e939a7ee29f8684b22ca57afd83533fed89e499
Merge: dff57b604 e110b3891
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 12:41:25 2019 -0700

    Merge branch 'firestore-master'

commit dff57b60482943d2c4311e249439eaeb363aa555
Author: wu-hui <[email protected]>
Date:   Fri Sep 13 15:39:18 2019 -0400

    Enable `-Werror` for Firestore XCode project (#3836)

commit 941133705ad843e4e114a6c5d7d2ec012a1bf1f4
Author: Brian Chen <[email protected]>
Date:   Fri Sep 13 11:56:47 2019 -0700

    Port persistence spec test (#3844)

commit e110b3891e2784599cb1267ef9ef454a20c38d51
Author: Marek Gilbert <[email protected]>
Date:   Thu Sep 12 18:40:06 2019 -0700

    Revert "Enable travis on firestore-master"

    This reverts commit 2583bd165438188448ad8196be933e0c48ca950f.

commit 3860c1a495de42ca8598b1ec61e3f3f9b0dc87ee
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 16:53:33 2019 -0700

    Merges release-6.8.0 into master (#3841)

    * Update versions for Release 6.8.0

    * RemoteConfig fix pod spec lint (#3715) (#3716)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

    * Remote Config `pod spec lint` fixes (#3717) (#3718)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

    * Add FDL to M55 (#3724)

    * Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
    * Add FDL to M55

    * Fix accessing a destroyed object (#3721) (#3725)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

    * Cherry pick GDT changes for 6.8.0 and increment versions (#3770)

    * Release 6.8.0: cherry pick of #3764 and #3766 (#3772)

    * Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

    * Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

    * Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)

    * Update FDL CHANGELOG (#3781)

    * Issue number, not PR number (#3785)

    * cherry-picks and versions for 6.8.1 (#3805)

    * Fix SIGSEGV in callback after block is nil'd (#3786)

    * Remove UIWebViewDelegate references (#3799)

    * Fix header issues exposed by :generate_multiple_pod_projects (#3803)

    * cherry-picks and versions for 6.8.1

    * Fix unbalanced background task creation in CCTUploader (#3837)

    * Increment version and CHANGELOG for GDTCCT (#3840)

    * Kill a couple files that snuck through in the automerge

commit f7028988b1b29b4e1c33d51b714410c8214730da
Author: Brian Chen <[email protected]>
Date:   Thu Sep 12 16:44:14 2019 -0700

    Split ListenerRegistration into QueryListenerRegistration (#3832)

commit 4a664aeba2076875e154ec7be81de8af7ce5ea3d
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 15:13:29 2019 -0700

    Fix unbalanced background task creation in GDTCCTUploader (#3838)

commit 2d89ee00551fb831853040c2fa410914fa4ce047
Author: Bhaktipriya Shridhar <[email protected]>
Date:   Thu Sep 12 23:09:25 2019 +0100

    Added fakes for GDTCORTransport. (#3823)

commit 5ad63dabc2cf98e4cd5d1171f3250a4e548310ef
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 15:06:36 2019 -0700

    Remove iOS-specific code from a test that didn't need it (#3813)

    * Remove iOS-specific code from a test that didn't need it

    Fixes #3711

    * Remove not needed comment

commit 6ad473ae04080746ced3d83a9962181b580fad74
Author: Gil <[email protected]>
Date:   Thu Sep 12 14:28:10 2019 -0700

    Merge persistence-master to master (#3829)

    * Port FSTMemoryPersistence to C++ (#3754)

    * Add local::Persistence

    * Add MemoryPersistence

    * Add MemoryEagerReferenceDelegate

    * Make LruDelegate extend ReferenceDelegate

    This enables downcasting to LruDelegate in tests that need to do so.

    * Add MemoryLruReferenceDelegate

    * Don't double-count document key size.

    * Port FSTLevelDB to C++ (#3755)

    * Add LevelDbPersistence

    Note that Apple-specific initialization has been partitioned off in
    anticipation of being able to run this code on non-Apple platforms.

    * Add LevelDbLruReferenceDelegate

    * Migrate to C++ Persistence (1/2) (#3756)

    * Use C++ Persistence classes in FSTLocalStore

    * Remove ReferenceDelegateBridge

    * Cut src over to C++ persistence types

    * Remove Objective-C requirement from some classes

    ... that no longer require it.

    * Migrate to C++ Persistence (2/2) (#3757)

    * Remove LruDelegateBridge

    * Update test initialization of persistence components

    In particular, ensure that there's always an owner for the Persistence
    instance, which wasn't always handled explicitly in the Objective-C
    version of the tests.

    * Largely mechanical changes to tests

    * Remove Objective-C persistence classes

    * Forward declare util::Status when possible (#3761)

    * Add a header dedicated to forward declarations for util::Status

    * Use status_fwd.h wherever possible

commit 2583bd165438188448ad8196be933e0c48ca950f
Author: Marek Gilbert <[email protected]>
Date:   Thu Sep 12 14:27:14 2019 -0700

    Enable travis on firestore-master

commit 5e4dcf23d9b54dac2d9de8b12b498704332d830f
Author: Michael Haney <[email protected]>
Date:   Wed Sep 11 17:31:22 2019 -0700

    Remove app_spec from GDT (#3825)

    Fixes #3824

commit 4192956c03ba71eab03c6ac33aee12494d5f5f05
Author: christibbs <[email protected]>
Date:   Wed Sep 11 18:19:52 2019 -0400

    Fix typos in FIRIAMFetchResponseParserTests (#3826)

commit 9ea5bd610bdf1b591bb38d4d1c8b8812d5cc8bb8
Author: Konstantin Varlamov <[email protected]>
Date:   Wed Sep 11 15:54:52 2019 -0400

    Log stream errors (#3828)

    This is in response to #3817. This is also more consistent with other platforms (e.g., Android [does](https://github.com/firebase/firebase-android-sdk/blob/master/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AbstractStream.java#L147) log the error).

    The resulting log messages look like this:
    ```
    2019-09-11 14:44:03.939778-0400 Firestore_Example_iOS[30490:61949945] 6.8.1 - [Firebase/Firestore][I-FST000001] WriteStream (7f92506abd20) Stream error: 'Not found: No document to update: <document id here, omitted>'
    2019-09-11 14:45:01.067452-0400 Firestore_Example_iOS[30490:61949544] 6.8.1 - [Firebase/Firestore][I-FST000001] WriteStream (7f9212de8040) Stream error: 'Permission denied: Missing or insufficient permissions.'
    ```

commit 14109c4ea2cde4641ce522b16c3038cbf4520813
Author: dmandar <[email protected]>
Date:   Wed Sep 11 10:55:39 2019 -0700

    Add RC test app. (#3819)

    * Add RC test app.

    * Add private header files to podspec used by 2P.

    * Rename FIRRemoteConfig_Internal.h to FIRRemoteConfig_Private.h.

    * Fix style.

    * Add copyright notice.

    * Fix relative path to RCNConfigSettings for tests.

    * Fix style.

    * Rename to FIRRemoteConfig_Private.h for unit tests.

    * Rename to coorect relative path.

commit 70d1dcbb8a28f8a579ab53d80c8d4263e6d73afd
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 10 21:31:26 2019 -0700

    README update for RemoteConfig open source (#3821)

commit a52356a87a45a6d00b8f4f782586a3b5ab868faa
Author: Gil <[email protected]>
Date:   Tue Sep 10 20:57:26 2019 -0700

    Update CHANGELOG for Firestore v1.5.1 (#3820)

commit ae3310317cc1d63d10e1433e4717c502cb4a53a5
Author: rsgowman <[email protected]>
Date:   Tue Sep 10 17:14:15 2019 -0400

    Allow overriding of the default failure handler (#3793)

commit 330a55f9de8ab9a5cc86a5a934c68264e29b5268
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 10 06:46:16 2019 -0700

    Merge 6.8.1 (#3811)

commit 7417ee0db2879b3ed095eb970c53ab12835cf62c
Author: Michael Haney <[email protected]>
Date:   Tue Sep 10 00:12:26 2019 -0700

    Create a GDT test app for generating events (#3775)

    * Create a GDT test app for generating events

    * Add monkey tests and support for tvOS and macOS in the test app app_spec

    * Comment out tests for now

    Needs >= cocoapods-1.8.0

    * Remove unsupported property

commit cd0ca719d8d8d98fde48fd25d116673843b48bf9
Author: Konstantin Varlamov <[email protected]>
Date:   Mon Sep 9 19:51:49 2019 -0400

    Tweak code that breaks older versions of Visual Studio (#3809)

commit 1671040a1f513c0289662b17198b71704b06033a
Author: Michael Haney <[email protected]>
Date:   Mon Sep 9 16:07:04 2019 -0700

    Update CHANGELOGs (#3810)

    * Update CHANGELOGs

    * Additional changes to CHANGELOGs

commit 18e2721c1dbb1fc33812c82e4a79da1344d18f54
Author: Michael Haney <[email protected]>
Date:   Mon Sep 9 15:21:29 2019 -0700

    Rename GDT core libraries to GDTCOR (#3808)

commit 623e8219d40a111e2625f7005c7b19c46278f07d
Author: Konstantin Varlamov <[email protected]>
Date:   Mon Sep 9 17:12:17 2019 -0400

    Remove specialization of std::hash for Timestamp (#3797)

commit 7ac9dbcc9e9ddec139051612c71ec01059ddbff1
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 9 10:25:50 2019 -0700

    Fix header issues exposed by :generate_multiple_pod_projects (#3803)

commit e04843b5c4418b29ed6ece2d9a9c319e91168f43
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 9 10:09:13 2019 -0700

    Remove UIWebViewDelegate references (#3799)

commit 3d77a65e67e54975dde2d4ad2f3753e73bc30f13
Author: dmandar <[email protected]>
Date:   Fri Sep 6 14:32:47 2019 -0700

    Update comment for correct activate method. (#3795)

commit 89a276928c847befeae4c58aad0cd15900630058
Author: Maksym Malyhin <[email protected]>
Date:   Fri Sep 6 15:19:25 2019 -0400

    Merging the 6.8.0 release into master (#3783)

    * Update versions for Release 6.8.0

    * RemoteConfig fix pod spec lint (#3715) (#3716)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

    * Remote Config `pod spec lint` fixes (#3717) (#3718)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

    * Add FDL to M55 (#3724)

    * Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
    * Add FDL to M55

    * Fix accessing a destroyed object (#3721) (#3725)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

    * Cherry pick GDT changes for 6.8.0 and increment versions (#3770)

    * Release 6.8.0: cherry pick of #3764 and #3766 (#3772)

    * Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

    * Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

    * Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)

    * Update FDL CHANGELOG (#3781)

    * Issue number, not PR number (#3785)

commit d440418963196c425d2fc76ad415106c83e5eb61
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 6 11:10:39 2019 -0700

    Fix SIGSEGV in callback after block is nil'd (#3786)

commit dfa411338f48244baeee434df2b94d84475e987b
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 6 08:37:18 2019 -0700

    Fix symbol collision failure introduced by 6.8.0 release (#3789)

commit 9b0d5a3b1af4e96c4ffe8e0d8e2f94a7bc2c4b75
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 09:26:59 2019 -0400

    Add @DocumentId equivalent to Swift Codable (#3762)

    * Commit with failed optional test case.

    * Integration Test and cleanup

    * swiftformat

    * better doc formatting

    * addressing comments

    * rename to SelfDocumentID

    * Addressing Comments

    * fix comment

commit c8c2c21d7bb039fdc2282735b62a09cb918c16ca
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 07:49:28 2019 -0400

    Add optional value to ExplicitNull and ServerTimestamp (#3784)

    * Add optional value to ExplicitNull and ServerTimestamp

    * Fixing comments

    * another comment fix

commit 1ce982de852b23bb6a4bac08e06cda6841ab2b0d
Author: wu-hui <[email protected]>
Date:   Thu Sep 5 18:40:58 2019 -0400

    Port FSTSyncEngine to C++ SyncEngine 2/2 (#3741)

commit f0f0aeba209f41ab006512e1c1032e38a9ab4ab5
Author: Sebastian Schmidt <[email protected]>
Date:   Thu Sep 5 15:36:29 2019 -0700

    Don't persist documents that we already have (#3650)

commit cbdf31dc4f192256edc904dd917509e34c4b4bcf
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 17:01:28 2019 -0400

    Issue number, not PR number (#3785)

commit 8e607ab6744f42c7bbed9b3f00d4107ff7bd4a6e
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 15:34:13 2019 -0400

    Update FDL CHANGELOG (#3781)

commit b345fe709c882e6f769858bcf296b86ec1fb5837
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 14:41:38 2019 -0400

    Add ComponentContainer tests for dependencies. (#3774)

    * Add tests for container dependencies.

    * Add Component Container tests for dependencies.

    This ensures that no deadlocking occurs when fetching from the
    container, and when a delete occurs.

commit f750f87f9f5b38e0647464e1168766aac7d62558
Author: Gil <[email protected]>
Date:   Thu Sep 5 09:10:15 2019 -0700

    Add CMake support for FSTLocalSerializer (#3753)

    * Add support for building Objective-C protos in CMake

    * Add support for building FSTLocalSerializer to CMake

    * Build ProtoSizer with CMake

    * Build memory components with CMake

    * Build LevelDB components with CMake

commit 5ecb6702e682220ed202ede3f570e8f05c3901f3
Author: christibbs <[email protected]>
Date:   Thu Sep 5 09:52:40 2019 -0400

    Fix comment for initializer for `FIRInAppMessagingAction` after deprecation (#3765)

commit d058af9556fef56a8da27b890a5bd2a4a8bb6260
Author: Gil <[email protected]>
Date:   Wed Sep 4 14:56:04 2019 -0700

    Finish sizer interface (#3752)

    * Use int64_t for CalculateSizeBytes

    This avoids a bunch of nasty casting/checking in other parts of the code

    * Use the Sizer for MutationBatches

    * Don't double-count document key size.

commit ffd7316a013e96e6e1f5f45bdedba16a0fbdcf12
Author: wu-hui <[email protected]>
Date:   Wed Sep 4 15:15:31 2019 -0400

    Port FSTSyncEngine to C++ SyncEngine 1/2 (#3726)

    * Ported and delegated

    * using util

    * use shared_ptr by value

    * reformat

    * addressing comments #1

    * addressing comments #2

    * addressing comments #3

commit 9fffc5d6033505ac3276f5fee10e5abbfd2fca34
Author: Konstantin Varlamov <[email protected]>
Date:   Wed Sep 4 14:45:50 2019 -0400

    Fix erroneous move (#3769)

    Here, the error actually has to be copied because it is passed to more than one listener. Currently, this doesn't make a difference because `util::Status` has no move constructor.

    Also, make the relevant method take the status by const reference.

commit 58cae6c573bede2a01008a32452e1524b3c7d342
Author: Gil <[email protected]>
Date:   Wed Sep 4 11:39:13 2019 -0700

    Misc Objective-C cleanups (#3751)

    * Clean up references to Firestore.pbrpc

    We're no longer using Objective-C gRPC services and this is no longer generated.

    * Remove no longer existing entries from xcgmock

commit 27e67868e829d74dbcccbd57c1871bd7832bf838
Author: Ryan Wilson <[email protected]>
Date:   Wed Sep 4 12:06:59 2019 -0400

    Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

commit cb4b4b372362630ed13384dd93891f7566868ad2
Author: Paul Beusterien <[email protected]>
Date:   Wed Sep 4 07:28:04 2019 -0700

    cocoapod-generate 1.6.0 released (#3767)

commit 06095920bf16f7080507216bc1bbfa7c104386bf
Author: Michael Haney <[email protected]>
Date:   Tue Sep 3 20:37:16 2019 -0700

    Transition from NSAssert to GDTAssert in all GDT libraries (#3768)

    * Git rid of all NSAsserts in GDT and GDTCCT

    - Moves GDTAssert to be a public API
    - Always logs to console
    - Differentiates between fatal and non-fatal assertions
    - Messaging of assertions encourages creating an issue
    - Tests assertion use with NS_BLOCK_ASSERTIONS defined and undefined

    * Update CHANGELOGs and remove one last NSCAssert

    * Remove a test because xcconfigs aren't respected

    * Address nit

commit 0d0f90593e41e00b1857828ebf50fd4fe3d1704d
Author: christibbs <[email protected]>
Date:   Tue Sep 3 16:38:20 2019 -0400

    Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

commit 6f249cae07cccf8ffdeec7fd3f8d585946cf3ad6
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 3 12:37:17 2019 -0700

    Fix Remote Config travis flakes (#3738)

commit b594723572311bb52fc9e2c54a50ddf08b4fbecc
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 3 08:46:21 2019 -0700

    Update formatters for the Xcode 10.3 Travis image (#3739)

commit e374338b83f96bbb21c6f0bb4d35adc8d33b42d0
Author: Gil <[email protected]>
Date:   Mon Sep 2 20:07:28 2019 -0700

    Fix removal of view references in FSTLocalStore (#3737)

commit 3a2077f1e4679d78a041861df48710c3194cb2d7
Author: Gil <[email protected]>
Date:   Mon Sep 2 16:40:21 2019 -0700

    Fixes for the Codable API (#3734)

    * Annotate Transaction and WriteBatch methods as discardable

    These methods exist to allow chaining if that's useful but chaining
    isn't expected or required.

    Note that Objective-C methods in these types are implicitly
    @discardableResult and don't need any extra help.

    * No need to explicitly discard results

    * Fix typos in FIRCollectionReference docs

    * Add support for CollectionReference.addDocument(from:)

commit ab7897232f5a33c6a9e539839fac12eeacf03dba
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 30 13:24:34 2019 -0400

    Update packaging of MLKit pods. (#3731)

    This removes some unnecessary code due to previously duplicated
    frameworks, woo!

commit 932ab0e265de809e3c4366c9965da4e6c6fe267f
Author: Paul Beusterien <[email protected]>
Date:   Fri Aug 30 10:20:40 2019 -0700

    Disable loopy cron tests (#3730)

commit bb563c8497c0a8fb4d237604062535701dd7ba25
Author: Paul Beusterien <[email protected]>
Date:   Thu Aug 29 12:26:30 2019 -0700

    Migrate travis to Xcode 10.3 and single platform builds (#3714)

commit 5da6b69a7d4d171db6711e65d93484fcc99e99fb
Author: Konstantin Varlamov <[email protected]>
Date:   Thu Aug 29 14:14:09 2019 -0400

    Fix accessing a destroyed object (#3721)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

commit 7095c0b39030a59544b2d03572402cf45548fe35
Author: Loïc Dardant <[email protected]>
Date:   Thu Aug 29 10:08:57 2019 -0400

    Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)

commit 1e889cf43cd9a9ab54d87f7673a190f1fe2ff3d1
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 17:32:13 2019 -0400

    Remote Config `pod spec lint` fixes (#3717)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

commit 453f887e0bfd68b167dedb9c97aed94633a82302
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 15:17:56 2019 -0400

    RemoteConfig fix pod spec lint (#3715)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

commit cd516bca5b244ce848f02d99165aec62838bf8a7
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 11:11:51 2019 -0400

    GoogleUtilities: recover Xcode 8 compatibility. (#3713)

commit 83195cb02ea7218f168a0be5d325d787d2556a1b
Author: Ryan Wilson <[email protected]>
Date:   Wed Aug 28 10:28:14 2019 -0400

    Update NOTICES (#3653)

    * Update NOTICES

    This was out of date compared to the internal version.

    * Remove trailing whitespaces.

commit f964056353f7578cbdecc47b3f9a9ac9394a1943
Author: dmandar <[email protected]>
Date:   Wed Aug 28 07:25:34 2019 -0700

    Recreate an NSURLSession for updates to the fetch timeout. (#3683)

commit 5fd5ed2131730bf8806b405410d1dd8ddda37ecf
Author: christibbs <[email protected]>
Date:   Tue Aug 27 20:02:33 2019 -0400

    Update CHANGELOG.md (#3710)

commit 5cb58b881dd2618cd1d40ba89605ef5ab87758ed
Author: Maksym Malyhin <[email protected]>
Date:   Tue Aug 27 17:59:27 2019 -0400

    GULSecureCoding introduced. (#3707)

    * GULKeyedArchiver introduced.

    * Bump GoogleUtilities version.

    * Rename GULKeyedArchiver to GULSecureCodingTests. API cleanup.

    * API notes.

    * ./scripts/style.sh

    * GoogleUtilities version 6.3.0

commit 89bae97cd56ea525fbc4f9eb58cb8c93819ab5e0
Author: Maksym Malyhin <[email protected]>
Date:   Tue Aug 27 17:43:49 2019 -0400

    Firebase Installations: integration tests on Travis (#3652)

commit e451960e6ff6cbcbeaa73045979b40fc3e067d70
Author: christibbs <[email protected]>
Date:   Tue Aug 27 16:56:21 2019 -0400

    Undeprecate initializer for FIRInAppMessagingAction (#3656)

    * Undeprecate initializer for FIRInAppMessagingAction

    * Styles.sh

commit 76601bf5e9c12612b69bddad3b86ccabb67bfab2
Author: Gil <[email protected]>
Date:   Tue Aug 27 13:48:27 2019 -0700

    Update CHANGELOG for Firestore v1.5.0 (#3705)

commit 4fe65153abcc8462981142acbe5d3b3840262df4
Author: Chen Liang <[email protected]>
Date:   Tue Aug 27 13:14:20 2019 -0700

    fcm release log for M55 (#3704)

commit 238c336eddecf6c98de6ab689da1f524d0bb8833
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 10:01:15 2019 -0700

    Update ABT Changelog for M55 (#3703)

commit b28291b206a6c1392da0b67e76365c88c2f850bc
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 09:32:38 2019 -0700

    IID Changelog update for M55 (#3702)

commit c5b5a44603ad1452a9caef1b26e58ed7fb050d2b
Author: wu-hui <[email protected]>
Date:   Tue Aug 27 11:51:01 2019 -0400

    Rename shutdown to terminate and publish it. (#3694)

    * Rename shutdown to terminate and publish it.

    * Addressing feedbacks

commit 423cab7732c4619597047dff706414e70a7fdc5f
Author: Gil <[email protected]>
Date:   Tue Aug 27 08:27:44 2019 -0700

    Add a Sizer abstraction to MemoryPersistence (#3692)

    This breaks the link between MemoryPersistence-related classes and
    FSTLocalSerializer, making it possible to use these in straight C++.

commit 58256d207d3417c805cd03707563b65a140b5fe4
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 07:56:53 2019 -0700

    Carthage instruction fix for Firestore resource (#3700)

commit aa326a47ce0ccd618df2b4297d1c19bea36bf8be
Author: Gil <[email protected]>
Date:   Mon Aug 26 21:56:15 2019 -0700

    Migrate FSTLRUGarbageCollector to C++ LruGarbageCollector (#3685)

    * Add ReferenceDelegate

    * Remove Objective-C crutches from model/types.h and query_cache.h

    * Add C++ LruGarbageCollector

    * Add delegate bridges for LruDelegate and ReferenceDelegate

    * Migrate from FSTLRUGarbageCollector to C++ LruGarbageCollector

commit 5cdff78f2b096678e17d6601e66827000584b0af
Author: Gil <[email protected]>
Date:   Mon Aug 26 19:39:54 2019 -0700

    Migrate FSTView to C++ View (#3684)

    * Add C++ ViewChange

    * Migrate FSTViewChange to C++ ViewChange

    * Add C++ View

    * Migrate FSTView to C++ View

commit 6cf151f28ad35ef34d1c11c8b36ca66105d2034a
Author: Gil <[email protected]>
Date:   Mon Aug 26 19:35:45 2019 -0700

    Fix Xcode 8 builds (again) (#3695)

    The fix in #3647 was essentially undone in #3648 because even though the
    podspec no longer depends on FirebaseCoreDiagnostics, adding in local
    pod declarations for these brought them back into the project.

    This change removes local pod declarations for the dependencies that
    break under Xcode 8 as well.

commit 4422243a2b2e5544de857e6c12922a4d782f58c3
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 16:57:58 2019 -0700

    Fix RC test flake from deallocated Expectations (#3681)

commit e47dc20de52ddbd6e7052ac8c802c1ce7cf58abc
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 16:11:15 2019 -0700

    Header path standards for copybara (#3668)

commit d2393c815bee467a9dc011dae3a559c0eed13b4e
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 14:20:41 2019 -0700

    Merge 6.7.0 patch 2(GDT 1.1.3) back to master (#3693)

commit 6bcf6ba58c037280c3228aeaab8caecb8e1fc19e
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 16:08:46 2019 -0400

    publish waitForPendingWrites (#3690)

    * publish waitForPendingWrites

    * add change log

    * move impl out of internal

commit 7870c73b7c13633630020793590c4baf7ff22a90
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 15:48:18 2019 -0400

    Port FSTFirestoreClient to C++ 2/2 (#3657)

    * firestore_client + FSTFirestoreClient becomes delegate.

    * fix comment

    * addressing comment

    * use new instead make_shared

    * reformat

    * Update references to firestore client

    * Addressing comments#2

    * addressing comments #3

    * add std::move

    * remove deleted header.

    * fix cmake build error.

commit 77b5181807c7158a0e330b4f3fc15198dc7bbf95
Author: Michael Haney <[email protected]>
Date:   Mon Aug 26 11:24:54 2019 -0700

    Wrap decoding targetToInflightPackages in a try/catch (#3689)

    It's not apparent how a key could be stored with a nil object in the dictionary. Maybe it's possible that somehow a GDTUploadPackage fails to decode, but there aren't any indications that this is the case. This PR adds a check for contents of the dictionary, though encoding an empty dictionary should be fine. A try/catch is utilized to catch exceptions thrown in iOS's implementation of NSSecureCoding in NSMutableDictionary.

commit 51ded3fefb0caf24ad4e5d11ac74155bb998b572
Author: Chen Liang <[email protected]>
Date:   Mon Aug 26 11:13:50 2019 -0700

    should not persist context message ID in loggedMessageIDs (#3670)

commit 653744196f2f6b74713813bf2c5eb681982e5fe2
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 11:37:18 2019 -0400

    Port FSTFirestoreClient to C++ 1/2 (#3640)

    * firestore_client + FSTFirestoreClient becomes delegate.

    * fix comment

    * addressing comment

    * use new instead make_shared

    * reformat

    * Addressing comments#2

    * addressing comments #3

commit 49de84aa5cac610a4b0cdfe0400777ca3ec06028
Author: Gil <[email protected]>
Date:   Sun Aug 25 17:40:31 2019 -0700

    Migrate FSTMutationBatch to C++ MutationBatch (#3673)

commit 593fcefd61bdec30033cd51e3699500a475f1d17
Author: Gil <[email protected]>
Date:   Sun Aug 25 14:43:32 2019 -0700

    Complete implementation of C++ MutationBatch (#3672)

    * Implement the rest of MutationBatch

    * Teach LocalSerializer about base_mutations

commit 07a64930e8283f5a01e8aab6f4a8dc5ef6eb2ca7
Author: Gil <[email protected]>
Date:   Fri Aug 23 17:02:30 2019 -0700

    Upgrade Firestore emulator to 1.8.0 (#3675)

commit 9d54dcce4317ee875eb1b46d0d294e6ec38ed631
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 17:14:25 2019 -0400

    Rename carthage directory when there's no RC number (#3674)

    This should prevent unintentional overrides during CI runs.

commit 146d4ce4cdab551b462133ec13e4768b2718a31d
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 16:26:05 2019 -0400

    Properly pass carthage flag to CD. (#3671)

commit 0da97f967658e5f89737094b95cffe6a7893d5cc
Author: Gil <[email protected]>
Date:   Fri Aug 23 12:08:20 2019 -0700

    Conditionally use local sources for Firestore (#3648)

    This will force post-merge builds to validate compatibility with
    pre-release versions of other Firebase pods

commit 937a7364974493b3b388c274c5e0afc79b4f2691
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 15:03:13 2019 -0400

    Remove support for cached zip builds. (#3574)

    * Remove support for cached zip builds.

    This never really worked that well, and isn't used since we're now
    building the zip file on Kokoro. Quick iterations can be handled with
    changing the `podsToInstall` variable leaving this code outdated and
    unnecessary.

    * Remove unnecessary initializer.

commit 62af87557d5f7ad1439b8fdcdc99d5f9335e8386
Author: Paul Beusterien <[email protected]>
Date:   Fri Aug 23 10:06:48 2019 -0700

    Merge 6.7.0 patch 1 (#3666)

commit 6d875b489273896d347e6c2ce6c3a5e9b07fe61a
Author: Gil <[email protected]>
Date:   Fri Aug 23 08:34:46 2019 -0700

    Fix connectivity monitor redispatching. (#3663)

    In #3467, we changed the connectivity monitor to take callbacks from
    SCNetworkReachability on the main thread but didn't make the
    corresponding change to enqueue the notification back onto Firestore's
    worker.

commit 1971af49c9b97b7640673981a7f4a63241a9b4c6
Author: Gil <[email protected]>
Date:   Thu Aug 22 15:18:11 2019 -0700

    Partially migrate stream tokens from NSData to ByteString (#3643)

    * Convert stream tokens from NSData to ByteString

    Note that this persists in using protobuf's conflation of empty and null
    strings.

    * Rename remote_event.mm to .cc

commit 2f5e4fdd95676c2daa00d107fcde491c86a7d53f
Author: Paul Beusterien <[email protected]>
Date:   Thu Aug 22 13:37:44 2019 -0700

    Start RemoteConfig CI and fix/ignore warnings (#3649)

commit 3b74c3fe08f22454c9afdeffbe0e2500627bafa8
Author: Chen Liang <[email protected]>
Date:   Thu Aug 22 13:04:53 2019 -0700

    fix why local timezone message is never logged (#3638)

commit e7d5e60eca7cb77b37dfb6e48a48a221e58598b5
Author: Gil <[email protected]>
Date:   Thu Aug 22 12:28:08 2019 -0700

    Revert "Disable Firestore xcodebuild with tsan (#3628)" (#3644)

    This reverts commit 6f537bf10a43833bac343e65ff5b4ca7d0c78771.

commit adb93131fa3f9eab676fc7a9ae50c1c7d374f7b7
Author: wu-hui <[email protected]>
Date:   Thu Aug 22 15:02:30 2019 -0400

    Fix misplaced waitForPendingWrites (#3654)

    * Fix misplaced waitForPendingWrites

    * reformat

commit 331f651eae61ec08b5cc2d6f89d116de5036b873
Author: Gil <[email protected]>
Date:   Thu Aug 22 08:27:02 2019 -0700

    Add serializer support for transform mutations (#3642)

    * Rename Encode/DecodeDocumentMask to *FieldMask to name after the model type

    * Add Serializer::{Encode,Decode}FieldPath

    * Avoid passing Serializer* everywhere in serializer_test.

    * Add support for serializing TransformMutations

commit c42bf815a5aa91cfde0369e3ca98255cd79fccf5
Author: Gil <[email protected]>
Date:   Wed Aug 21 17:15:57 2019 -0700

    Fix Firestore builds under Xcode 8 (#3647)

    * Fix Firestore builds under Xcode 8

    * FirebaseCore must be a local pod

    Otherwise pod install won't pick up local edits to that podspec

commit d70c873654a3dbfd5171fb2fb60ddb6580b5d974
Author: Paul Beusterien <[email protected]>
Date:   Wed Aug 21 15:41:58 2019 -0700

    Release 6.7.0 (#3646)

commit 9335275306427e6c2c16191c9867774d95ea3619
Author: Paul Beusterien <[email protected]>
Date:   Wed Aug 21 14:26:41 2019 -0700

    Open Sourcing Remote Config (#3645)

commit c7777be93ce1c4355ce7f040fcc965b14c89e0fd
Author: Brian Chen <[email protected]>
Date:   Wed Aug 21 11:12:09 2019 -0700

    Retrying transactions with backoff (#3599)

commit d99c6c307d57af41d9da26a3288724522869a9a3
Author: Gil <[email protected]>
Date:   Wed Aug 21 08:11:21 2019 -0700

    Upgrade LevelDB to 1.22 (#3637)

commit 876eff84e6c3ea7f5fa9a8c48e070e662957dc11
Author: Gil <[email protected]>
Date:   Tue Aug 20 20:09:16 2019 -0700

    Factor out nullability.h (#3639)

commit 2e5e8b56762ac2254185c83d4b9eae2c44cdedf9
Author: Gil <[email protected]>
Date:   Tue Aug 20 14:56:32 2019 -0700

    Migrate FSTQueryData to C++ QueryData (#3595)

    * Migrate FSTQueryData to C++ QueryData

    * Remove FSTQueryData

commit ea3b589ac03e6dcd868c680510dbea3c3c9dc452
Author: wu-hui <[email protected]>
Date:   Tue Aug 20 16:18:02 2019 -0400

    Port waitForPendingWrites (#3619)

    * port waitForPendingWrites

    * addressing comments #1

    * remove commented line

    * another change to disable network

commit 450acf9c421239843b9a16d9b9b8fdf57ae7e525
Author: Konstantin Varlamov <[email protected]>
Date:   Tue Aug 20 13:49:14 2019 -0400

    Remove no-longer-used `FSTAsyncQueryListener` (#3634)

commit dfa645ead1974cdc47cd5a173aa9145732b0b129
Author: Ryan Wilson <[email protected]>
Date:   Tue Aug 20 12:30:06 2019 -0400

    Use different modulemap for Carthage. (#3636)

    * Use different modulemap for Carthage.

    The zip file and Carthage distribution use different modulemaps - use
    the correct one for Carthage. Will address #3578 once this is used in
    generating the next Carthage release.

    * Fix style

commit 55d353fe29e00b89afde9fb50b6a6150fcd4d286
Author: Michael Haney <[email protected]>
Date:   Mon Aug 19 21:00:53 2019 -0700

    More safely manage background tasks (#3633)

    * More safely manage background tasks

    Delete a test that can't be run now.

    * Move state saving back to being async.

commit 42c963549db07a125c1190f92947d987d31110c8
Author: Morgan Chen <[email protected]>
Date:   Mon Aug 19 15:39:45 2019 -0700

    Document undocumented declarations (#3620)

commit e694b6156c1bede1919935449190afbd2588bce6
Author: Michael Haney <[email protected]>
Date:   Mon Aug 19 14:23:03 2019 -0700

    Fix backgrounding in GDTStorage (#3627)

    * Don't end a background task twice

    * Ensure that setting backgroundID is atomic

    * Remove @synchronizeds, use a volatile variable instead

    * Don't run NSCoding methods on the queue

    All calls utilizing NSKeyedArchiver archiveXXXX should be called from on the storage queue, but it shouldn't enqueue itself.

    * Style

    * Update CHANGELOG

    * Change PR #s to issue #s

commit 6f537bf10a43833bac343e65ff5b4ca7d0c78771
Author: Gil <[email protected]>
Date:   Mon Aug 19 13:38:32 2019 -0700

    Disable Firestore xcodebuild with tsan (#3628)

    There's currently a nontrivial TSAN issue with LevelDB that causes these
    to fail. Resolution of that issue is tracked as b/139669731. Once that
    is resolved, we can revert this change.

commit 6b36c0671af555882f99ff6dd32bc83d2e5926e5
Author: Gil <[email protected]>
Date:   Mon Aug 19 12:22:56 2019 -0700

    Migrate from NSData to nanopb::ByteString for resume tokens (#3592)
renkelvin added a commit that referenced this pull request Oct 1, 2019
commit 725fb866463207f083bb4ee5ce0192d65afd3730
Author: christibbs <[email protected]>
Date:   Tue Oct 1 17:59:14 2019 -0400

    Remove RoundedCornersView since there's an issue with IBDesignables (#3969)

    * Remove RoundedCornersView since there's an issue with IBDesignables in Xcode 11
    - Wasn't saving us much code anyway

    * Run styles.sh

commit bca8785e6233b4504f5d8b7a963c7d8561b9c349
Author: Brian Chen <[email protected]>
Date:   Tue Oct 1 14:32:30 2019 -0700

    Move addSnapshotsInSyncListener to public (#3968)

commit 09f3f6c6a39d80e70a0e5f9f15b7c631d13207c4
Author: Ryan Wilson <[email protected]>
Date:   Tue Oct 1 14:28:42 2019 -0400

    Fix unit testing crash with localization on (#3933)

commit 228537cb667874d4c74b73068fd1c180f98976d9
Author: Gil <[email protected]>
Date:   Tue Oct 1 10:04:52 2019 -0700

    Provide better error messages when encoding is not available (#3953)

    * Rewrite FirestoreEncoderTests using assertThat

    * Throw invalidValue for use of invalid top-level values

    * Provide an message for not supported errors

commit c19227d13c892ad34ec76aefcff8a02d101e1dee
Author: Paul Beusterien <[email protected]>
Date:   Tue Oct 1 08:19:00 2019 -0700

    cron test fix for Xcode 11 (#3964)

commit 365dfdaa56bcc292c2ab7a3481f7e5180be32c35
Author: Paul Beusterien <[email protected]>
Date:   Tue Oct 1 08:04:59 2019 -0700

    Run FIAMDisplay CI on Xcode 11 (#3959)

commit b37ab3b4333b04f0ba0325478f8b9cbd1be8054f
Author: Gil <[email protected]>
Date:   Mon Sep 30 19:55:03 2019 -0700

    Migrate FSTViewSnapshotTests to C++ (#3919)

    * view_snapshot_test: move (unchanged) from FSTViewSnapshotTest.mm

    * view_snapshot_test: automated changes

    * view_snapshot_test: sync_project.rb generated changes

    * view_snapshot_test: manual fixes

    * view_snapshot_test: shorten DocumentViewChange::Type

commit 7d06d34e0534963cc3581737f2746637eada4b3b
Author: Gil <[email protected]>
Date:   Mon Sep 30 18:07:59 2019 -0700

    Migrate tests written as C++ into the C++ tree (#3917)

    * field_transform_test: move into Firestore/core

    * field_transform_test: project changes

    * transform_operation_test: move into Firestore/core

    * transform_operation_test: project changes

commit c406ef5b12df01c305f9a0f68a08e6255aaf8c7f
Author: christibbs <[email protected]>
Date:   Mon Sep 30 20:44:29 2019 -0400

    Factor in space for top safe area insets into max height calculations in Modal and ImageOnly messages (#3957)

commit 391271a8075a758433720a299b78b1e2c6df72e3
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 30 17:40:53 2019 -0700

    Changelog and podspec for GoogleUtilities 6.3.1 (#3956)

commit 4a8ee3de6026d0fb351fa0c13f983d8f9119266f
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 30 16:37:21 2019 -0700

    Fix Catalyst define checks (#3958)

commit 6495dca55ca6840ee4e812f7190ac2d7fa32c911
Author: Brian Chen <[email protected]>
Date:   Mon Sep 30 16:36:51 2019 -0700

    Move snapshotsInSync to public (#3942)

commit 4c19a1365185dc4aa694d1b1aa6432ac1f8cf361
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 30 15:32:03 2019 -0700

    Make FIAM tests more robust in Travis (#3952)

commit 62c4fa30d2b1ec52d556a6ae5a4b97009bd7d5fa
Author: Gil <[email protected]>
Date:   Mon Sep 30 13:17:53 2019 -0700

    Migrate FSTQueryListenerTests to C++ (#3901)

commit 9ec602efcbc72c58683185ebead73aa0f6fd8327
Author: Gil <[email protected]>
Date:   Mon Sep 30 11:26:42 2019 -0700

    Migrate FSTViewTests to C++ (#3900)

    * Add view testing utilities

    * Copy FSTViewTests.mm to view_test.cc unchanged

    * Migrate FSTViewTests to C++

commit 0aacd2864250565060d5fcd3ed52de5dca917589
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 30 10:46:31 2019 -0700

    Travis to Xcode 11.0 (#3944)

commit 865e2896141808b30dba0f776ec69a33eb8f9a21
Author: dmandar <[email protected]>
Date:   Fri Sep 27 23:02:42 2019 -0700

    Fix an issue around deleting records from the database. (#3926)

    * Assign weakself to self.

    * Add unit test.

    * Style fixes.

    * Address review comments.

    * Review comments.

commit c2959919556b92b087bbbe509283f855c46af000
Author: Ryan Wilson <[email protected]>
Date:   Fri Sep 27 16:45:27 2019 -0400

    Fix Networking to receive data for POST requests (#3940)

    * Fix Networking to receive data for POST requests

    Currently,  GULNetworking doesn't receive the data when sending a POST request.

    Tracked internally at b/141712804

    * Added unit tests.

    * Update to handle the small data increments.

commit 104429929fc6af7931b1c3d1c2b7c3b741456fe1
Merge: 16885d21f 3185ff61d
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 27 12:29:37 2019 -0700

    Merge branch 'master' into codable-master

commit 3185ff61d55cf1abb1d5ddb40a0a4cdc67019653
Author: Gil <[email protected]>
Date:   Fri Sep 27 12:25:34 2019 -0700

    Add Expectations and Async/Await for testing (#3899)

    * Add Expectations and Async/Await for testing

    * Migrate async tests to Expectations and Async/Await

commit ac42675a03b02bbe8ae2df001bdacaeeb62b82a6
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 27 09:58:59 2019 -0700

    CocoaPods 1.8.1 (#3939)

commit 16885d21f48493567ddbfbc4e60e0ec648eef504
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 13:11:34 2019 -0700

    Migrate to encoders in third_party/FirestoreEncoder

commit b45bd79ec3d6164ff4c7e34da47b220f21bf36fe
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 09:26:59 2019 -0400

    Add @DocumentId equivalent to Swift Codable (#3762)

    * Commit with failed optional test case.

    * Integration Test and cleanup

    * swiftformat

    * better doc formatting

    * addressing comments

    * rename to SelfDocumentID

    * Addressing Comments

    * fix comment

commit d709b9f2b5d1e5e990380ff97d6510e74a474002
Author: Hui-Wu <[email protected]>
Date:   Fri Jun 28 15:07:52 2019 -0400

    Allow firestore api to work with Codable objects + ExplicitNull + Integration tests (#3261)

    * Convinience api for codables

    * Integration Tests

    * ExplicitNull implementation

commit 390966620a28b0a012fc847692ed41de455e80ab
Author: Morgan Chen <[email protected]>
Date:   Tue Jun 25 10:47:59 2019 -0700

    Fix token fetch not invoking callback for unchanged token (#3251)

commit 34023c30ea8a98854f522f705010f890866c1017
Author: Hui-Wu <[email protected]>
Date:   Mon Jun 24 16:18:30 2019 -0400

    FieldValue and DocumentReference codable support. (#3231)

    * working serverTimestamp

    * working FieldValue. Still need: document ref and ability to Eq of FieldValue

    * DocumentReference implemented and testing works

    * clean up header search path

    * improving FieldValue enum comments

    * run through formatting

    * addressing comments

    * formatted with swiftformat 0.35.7

    * add missing bool->BOOL change

    * undo unintended swift version change

    * remove unwanted proj file change

commit 5fdfc9d413f1f8f513533ff69a30deaec6c1e986
Author: Hui-Wu <[email protected]>
Date:   Wed Jun 19 10:00:17 2019 -0400

    Firestore swift Codable support (#3198)

    FirestoreEncoder/Decoder and Timestamp/GeoPoint codable support.

commit f7d26168ca7ec74f8200a3b0e4384abce372d95c
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 13:02:06 2019 -0700

    Rename JSONEncoder; prep for split

commit 75a8356c98d774743d488f6f03d2a79ed05453b9
Author: Gil <[email protected]>
Date:   Thu Sep 26 11:41:47 2019 -0700

    Upgrade GoogleTest to 1.8.1 (#3898)

    This gives access to testing::ScopedTrace, which was previously
    internal.

commit 2bf754257327dd69ffc14a95a500320af78c7fe9
Author: Gil <[email protected]>
Date:   Thu Sep 26 11:03:05 2019 -0700

    Pristine copy of JSONEncoder.swift (#3794)

    From
    https://github.com/apple/swift/commit/3391b746d9fb36d7bbf428bdc3f5f69e2bb9ac6f
    pulled with the tag swift-DEVELOPMENT-SNAPSHOT-2019-09-04-a.

commit 971445ce3596d99e91dbacb7656d7352d26ed08c
Author: Gil <[email protected]>
Date:   Thu Sep 26 10:41:36 2019 -0700

    Add cross-platform support for creating Executors (#3897)

    * Add Executor::CreateSerial

    ... a standard way to create an Executor for most cases where we don't
    care about the implementation.

    * Add ExecutorForTesting/AsyncQueueForTesting

    Uses Executor::CreateSerial to do the heavy lifting.

    * Use AsyncQueueForTesting

    * Avoid direct references to ExecutorLibdispatch in prod code

    * Rewrite time_testing in terms of absl::Time

    * Migrate async_test_util's now to time_testing

    * Fix AddressSanitizer stack-buffer-underflow error

    This was reading random data off the stack until it hit a negative
    integer's worth of data. The test passed because this was generating the
    input and expected values, which were much longer than expected given
    the input.

commit b389b8bdec235a6e7159e6ed91e1e0ee7d4ea233
Author: Matthias Blom <[email protected]>
Date:   Thu Sep 26 17:54:21 2019 +0200

    Set suppressMessageDisplay on displayExecutor (#3922)

commit 5356a257867537845b357b5f9f8cd944b69ceee3
Author: Gil <[email protected]>
Date:   Wed Sep 25 11:17:57 2019 -0700

    Better fix for typos in FIRDocumentSnapshot.h (#3923)

    Actually fixes #3873.

commit 2d161711ff445d7cc87d442bbe1ac3ad93fa648b
Author: Gil <[email protected]>
Date:   Tue Sep 24 18:32:03 2019 -0700

    Fix typos in FIRDocumentSnapshot.h (#3920)

    Fixes #3873.

commit 9ced69b6759f891ed8eef3b605a51f38f6c31585
Author: Konstantin Varlamov <[email protected]>
Date:   Tue Sep 24 18:43:19 2019 -0400

    Make `Serializer` fully support converting `FieldValue`s (#3659)

    This involved support for reference values and taking server timestamps into account (by crashing, because they are not supposed to ever be serialized).

    The biggest change is from making every function that decodes a `FieldValue` a member function (as well as any function called by those functions). That is because decoding a reference requires comparing database IDs, and the database ID of this Firestore instance is stored on the `Serializer`.

commit 01f49c3f792235359a9aa3de844b485bd150f764
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 24 10:29:51 2019 -0700

    Use at least Protobuf 3.9.2 (#3916)

commit 21fa390c4b353fcb9e2a070421d8076c87e76147
Author: Ryan Wilson <[email protected]>
Date:   Tue Sep 24 11:01:45 2019 -0400

    Fix nanopb dependencies for CoreDiagnostics. (#3914)

commit 22928dd30ef4797493b55ca6f58ce94ac0953b79
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:41:58 2019 -0700

    Fix ubsan issues in GDT (#3910)

commit ec63b6657d14e2508340c9b8b3a366a24c02f305
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:02:54 2019 -0700

    Update to CocoaPods 1.8.0 (#3908)

commit 526572d04c8351f28ede6af377a61621c2f9a594
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 15:00:54 2019 -0700

    Increase timeout to fix travis failure (#3909)

commit fb353c22d4443521a2d2ab3b86e981dbc98004a0
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 23 10:41:33 2019 -0700

    Merge 6.9.0 (#3907)

    * Update versions for Release 6.9.0

    * Fix unbalanced background task creation in GDTCCTUploader (#3838) (#3839)

    * Add Manifest

    * dependency version update

    * Cherry picks for 6.9.0 (#3871)

    * fixed "expiclitlySet" typo. (#3853)

    * Mark unused variables (#3854)

    * Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)

    * Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)

commit b1eb602ef4a8906c3e9387f87119e33ed4680319
Author: Brian Chen <[email protected]>
Date:   Fri Sep 20 16:30:11 2019 -0400

    Rename spec test functions (#3895)

commit 9d230de9c002e9564e3464b42d0186ba57a8e43c
Author: Brian Chen <[email protected]>
Date:   Fri Sep 20 14:15:57 2019 -0400

    Adding onSnapshotsInSync (not public) (#3850)

commit bf9cb5eee075e9c51798ba9653a9d9864d8be9ba
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 19 17:56:08 2019 -0400

    Add a product to the SwiftPM manifest. (#3889)

commit 56f503b60410018005d210cfb427fdf589d0fad9
Author: Paul Beusterien <[email protected]>
Date:   Thu Sep 19 14:54:01 2019 -0700

    Fix GULMutableDictionary keyed subscript methods (#3882)

commit 520c8d66e4e7e6c0619da174789e0f4882454e34
Author: Chuan Ren <[email protected]>
Date:   Thu Sep 19 11:11:16 2019 -0700

    Add ERROR_DYNAMIC_LINK_NOT_ACTIVATED and ERROR_REJECTED_CREDENTIAL (#3881)

commit 72d2cd8d6ff99d09f8f69412f2c98cf41c1d4dcf
Author: wu-hui <[email protected]>
Date:   Thu Sep 19 12:07:29 2019 -0400

    Add move operations to Status. (#3773)

commit 209c90b46ea61c4e548862d63d0393fe24a792a1
Author: Maksym Malyhin <[email protected]>
Date:   Wed Sep 18 17:30:47 2019 -0400

    ZipBuilder: move ManifestReader to a separate package to be reusable. (#3880)

    * ZipBuilder: move release manifest to a separate package to be reusable.

    * ZipBuilder: Remove unnecessary products definitions.

    * Move FirebaseSDKs.proto to Sources/ManifestReader

    * Update README for protobuf.

commit 5bfd69c514c113155902a256d4a61b93d06615f5
Author: Ryan Wilson <[email protected]>
Date:   Wed Sep 18 14:35:35 2019 -0400

    Fix release candidate parsing naming (#3879)

commit b48636bf52b87c36c67c12e3e8e154bc5f98232c
Author: wu-hui <[email protected]>
Date:   Wed Sep 18 14:00:32 2019 -0400

    Port local store to C++ 2/2 (#3865)

    Complete LocalStore port.

commit 538cdfd10f4d2d0d2c85de305ceaa6f8f33395bf
Author: Gil <[email protected]>
Date:   Wed Sep 18 10:06:35 2019 -0700

    Clean up Objective-C remnants (#3866)

    * Remove references to removed classes

    * Remove references to FSTSyncEngine

    * Fix references to Objective-C names that are no longer valid.

    * Remove forward declarations to classes that don't exist

    * Remove FSTTypes.h

    * Remove usages of headers that no longer apply

    * Clean up header imports

    * Remove traces of Objective-C from api/firestore.{h,mm}

    * Strip NS_ASSUME_NONNULL directives that don't apply

    * Remove FSTSyncEngine.h

commit 2dde2e2aa7285f48ef5aa4e36ec4df92489ceb34
Author: Michael Haney <[email protected]>
Date:   Wed Sep 18 01:11:02 2019 -0700

    Add support for FLL (#3867)

    All data format is with regard to CCT, so renaming wasn't very necessary except in tests.

    - Ensures that test event generation creates files, not uses existing ones
    - Implements prioritizer and uploader for FLL server
      - Main diff from CCT is needing gzipped data and api key
    - With the sqlite refactor, this will be more consolidated

commit 0ba2d76302920328dda87d9c418277716bf27c75
Author: wu-hui <[email protected]>
Date:   Tue Sep 17 22:12:36 2019 -0400

    Port local store to C++ 1/2 (#3833)

    Creates `LocalStore` in C++ and make `FSTLocalStore` delegating all work to that.

commit 6be7fc0d7dd047dc26dce1937e55bac2d9050e4d
Author: Ryan Wilson <[email protected]>
Date:   Tue Sep 17 13:23:21 2019 -0400

    Fix relative path for headers. (#3872)

    * Fix relative path for headers.

    * Style fixes.

commit 944a1540a2e50067ac54de98368b1f4dc64c43ab
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 23:36:58 2019 -0400

    Fix file prefix on CI. (#3868)

commit 9928f48866526afb079fd8bf8afef9bceb0e1ca3
Author: dmandar <[email protected]>
Date:   Mon Sep 16 19:11:00 2019 -0700

    Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)

commit 4cc54502f56f1ee09ea2c21c05fffc3b064e3d06
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 13:56:39 2019 -0400

    Add argument for build root override. (#3864)

    This will allow CI to give a directory on a volume that has more storage
    space, allowing the build to succeed.

commit 59db09740c8fd9de9d69842e8d37f7fce1f96208
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 10:55:20 2019 -0700

    Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)

commit 0a72c7251bdd81eb041de124235b9037fc0b43c9
Author: Ryan Wilson <[email protected]>
Date:   Mon Sep 16 10:38:26 2019 -0400

    Allow Zip build to continue if Carthage fails. (#3863)

commit 6038d5a2362800454278c132e7c2cffe3358476f
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 07:15:07 2019 -0700

    Mark unused variables (#3854)

commit 0eac94517601beb2636c294f145beaef9d29a684
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 16 06:34:45 2019 -0700

    Fix typo (#3848)

commit c917c87165304484c0e23568784e9e2e38a24535
Author: square <[email protected]>
Date:   Sat Sep 14 22:22:44 2019 +0800

    fixed "expiclitlySet" typo. (#3853)

commit 409905d535e2586cb1edb0c65f291de9eda97e46
Author: Sebastian Schmidt <[email protected]>
Date:   Fri Sep 13 14:13:11 2019 -0700

    Change the order of checks in applyRemoteEvent() (#3847)

commit 8af6e47a1be029af5a343294d01bffea1187a0b1
Author: Michael Haney <[email protected]>
Date:   Fri Sep 13 13:26:31 2019 -0700

    Enable app_specs and monkey test if GDT_DEV is 1 (#3845)

    * Enable app_specs and monkey test if GDT_DEV is 1

    Also address GDT renaming in the test app.

    * Fix indentation

commit 3e939a7ee29f8684b22ca57afd83533fed89e499
Merge: dff57b604 e110b3891
Author: Marek Gilbert <[email protected]>
Date:   Fri Sep 13 12:41:25 2019 -0700

    Merge branch 'firestore-master'

commit dff57b60482943d2c4311e249439eaeb363aa555
Author: wu-hui <[email protected]>
Date:   Fri Sep 13 15:39:18 2019 -0400

    Enable `-Werror` for Firestore XCode project (#3836)

commit 941133705ad843e4e114a6c5d7d2ec012a1bf1f4
Author: Brian Chen <[email protected]>
Date:   Fri Sep 13 11:56:47 2019 -0700

    Port persistence spec test (#3844)

commit e110b3891e2784599cb1267ef9ef454a20c38d51
Author: Marek Gilbert <[email protected]>
Date:   Thu Sep 12 18:40:06 2019 -0700

    Revert "Enable travis on firestore-master"

    This reverts commit 2583bd165438188448ad8196be933e0c48ca950f.

commit 3860c1a495de42ca8598b1ec61e3f3f9b0dc87ee
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 16:53:33 2019 -0700

    Merges release-6.8.0 into master (#3841)

    * Update versions for Release 6.8.0

    * RemoteConfig fix pod spec lint (#3715) (#3716)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

    * Remote Config `pod spec lint` fixes (#3717) (#3718)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

    * Add FDL to M55 (#3724)

    * Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
    * Add FDL to M55

    * Fix accessing a destroyed object (#3721) (#3725)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

    * Cherry pick GDT changes for 6.8.0 and increment versions (#3770)

    * Release 6.8.0: cherry pick of #3764 and #3766 (#3772)

    * Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

    * Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

    * Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)

    * Update FDL CHANGELOG (#3781)

    * Issue number, not PR number (#3785)

    * cherry-picks and versions for 6.8.1 (#3805)

    * Fix SIGSEGV in callback after block is nil'd (#3786)

    * Remove UIWebViewDelegate references (#3799)

    * Fix header issues exposed by :generate_multiple_pod_projects (#3803)

    * cherry-picks and versions for 6.8.1

    * Fix unbalanced background task creation in CCTUploader (#3837)

    * Increment version and CHANGELOG for GDTCCT (#3840)

    * Kill a couple files that snuck through in the automerge

commit f7028988b1b29b4e1c33d51b714410c8214730da
Author: Brian Chen <[email protected]>
Date:   Thu Sep 12 16:44:14 2019 -0700

    Split ListenerRegistration into QueryListenerRegistration (#3832)

commit 4a664aeba2076875e154ec7be81de8af7ce5ea3d
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 15:13:29 2019 -0700

    Fix unbalanced background task creation in GDTCCTUploader (#3838)

commit 2d89ee00551fb831853040c2fa410914fa4ce047
Author: Bhaktipriya Shridhar <[email protected]>
Date:   Thu Sep 12 23:09:25 2019 +0100

    Added fakes for GDTCORTransport. (#3823)

commit 5ad63dabc2cf98e4cd5d1171f3250a4e548310ef
Author: Michael Haney <[email protected]>
Date:   Thu Sep 12 15:06:36 2019 -0700

    Remove iOS-specific code from a test that didn't need it (#3813)

    * Remove iOS-specific code from a test that didn't need it

    Fixes #3711

    * Remove not needed comment

commit 6ad473ae04080746ced3d83a9962181b580fad74
Author: Gil <[email protected]>
Date:   Thu Sep 12 14:28:10 2019 -0700

    Merge persistence-master to master (#3829)

    * Port FSTMemoryPersistence to C++ (#3754)

    * Add local::Persistence

    * Add MemoryPersistence

    * Add MemoryEagerReferenceDelegate

    * Make LruDelegate extend ReferenceDelegate

    This enables downcasting to LruDelegate in tests that need to do so.

    * Add MemoryLruReferenceDelegate

    * Don't double-count document key size.

    * Port FSTLevelDB to C++ (#3755)

    * Add LevelDbPersistence

    Note that Apple-specific initialization has been partitioned off in
    anticipation of being able to run this code on non-Apple platforms.

    * Add LevelDbLruReferenceDelegate

    * Migrate to C++ Persistence (1/2) (#3756)

    * Use C++ Persistence classes in FSTLocalStore

    * Remove ReferenceDelegateBridge

    * Cut src over to C++ persistence types

    * Remove Objective-C requirement from some classes

    ... that no longer require it.

    * Migrate to C++ Persistence (2/2) (#3757)

    * Remove LruDelegateBridge

    * Update test initialization of persistence components

    In particular, ensure that there's always an owner for the Persistence
    instance, which wasn't always handled explicitly in the Objective-C
    version of the tests.

    * Largely mechanical changes to tests

    * Remove Objective-C persistence classes

    * Forward declare util::Status when possible (#3761)

    * Add a header dedicated to forward declarations for util::Status

    * Use status_fwd.h wherever possible

commit 2583bd165438188448ad8196be933e0c48ca950f
Author: Marek Gilbert <[email protected]>
Date:   Thu Sep 12 14:27:14 2019 -0700

    Enable travis on firestore-master

commit 5e4dcf23d9b54dac2d9de8b12b498704332d830f
Author: Michael Haney <[email protected]>
Date:   Wed Sep 11 17:31:22 2019 -0700

    Remove app_spec from GDT (#3825)

    Fixes #3824

commit 4192956c03ba71eab03c6ac33aee12494d5f5f05
Author: christibbs <[email protected]>
Date:   Wed Sep 11 18:19:52 2019 -0400

    Fix typos in FIRIAMFetchResponseParserTests (#3826)

commit 9ea5bd610bdf1b591bb38d4d1c8b8812d5cc8bb8
Author: Konstantin Varlamov <[email protected]>
Date:   Wed Sep 11 15:54:52 2019 -0400

    Log stream errors (#3828)

    This is in response to #3817. This is also more consistent with other platforms (e.g., Android [does](https://github.com/firebase/firebase-android-sdk/blob/master/firebase-firestore/src/main/java/com/google/firebase/firestore/remote/AbstractStream.java#L147) log the error).

    The resulting log messages look like this:
    ```
    2019-09-11 14:44:03.939778-0400 Firestore_Example_iOS[30490:61949945] 6.8.1 - [Firebase/Firestore][I-FST000001] WriteStream (7f92506abd20) Stream error: 'Not found: No document to update: <document id here, omitted>'
    2019-09-11 14:45:01.067452-0400 Firestore_Example_iOS[30490:61949544] 6.8.1 - [Firebase/Firestore][I-FST000001] WriteStream (7f9212de8040) Stream error: 'Permission denied: Missing or insufficient permissions.'
    ```

commit 14109c4ea2cde4641ce522b16c3038cbf4520813
Author: dmandar <[email protected]>
Date:   Wed Sep 11 10:55:39 2019 -0700

    Add RC test app. (#3819)

    * Add RC test app.

    * Add private header files to podspec used by 2P.

    * Rename FIRRemoteConfig_Internal.h to FIRRemoteConfig_Private.h.

    * Fix style.

    * Add copyright notice.

    * Fix relative path to RCNConfigSettings for tests.

    * Fix style.

    * Rename to FIRRemoteConfig_Private.h for unit tests.

    * Rename to coorect relative path.

commit 70d1dcbb8a28f8a579ab53d80c8d4263e6d73afd
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 10 21:31:26 2019 -0700

    README update for RemoteConfig open source (#3821)

commit a52356a87a45a6d00b8f4f782586a3b5ab868faa
Author: Gil <[email protected]>
Date:   Tue Sep 10 20:57:26 2019 -0700

    Update CHANGELOG for Firestore v1.5.1 (#3820)

commit ae3310317cc1d63d10e1433e4717c502cb4a53a5
Author: rsgowman <[email protected]>
Date:   Tue Sep 10 17:14:15 2019 -0400

    Allow overriding of the default failure handler (#3793)

commit 330a55f9de8ab9a5cc86a5a934c68264e29b5268
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 10 06:46:16 2019 -0700

    Merge 6.8.1 (#3811)

commit 7417ee0db2879b3ed095eb970c53ab12835cf62c
Author: Michael Haney <[email protected]>
Date:   Tue Sep 10 00:12:26 2019 -0700

    Create a GDT test app for generating events (#3775)

    * Create a GDT test app for generating events

    * Add monkey tests and support for tvOS and macOS in the test app app_spec

    * Comment out tests for now

    Needs >= cocoapods-1.8.0

    * Remove unsupported property

commit cd0ca719d8d8d98fde48fd25d116673843b48bf9
Author: Konstantin Varlamov <[email protected]>
Date:   Mon Sep 9 19:51:49 2019 -0400

    Tweak code that breaks older versions of Visual Studio (#3809)

commit 1671040a1f513c0289662b17198b71704b06033a
Author: Michael Haney <[email protected]>
Date:   Mon Sep 9 16:07:04 2019 -0700

    Update CHANGELOGs (#3810)

    * Update CHANGELOGs

    * Additional changes to CHANGELOGs

commit 18e2721c1dbb1fc33812c82e4a79da1344d18f54
Author: Michael Haney <[email protected]>
Date:   Mon Sep 9 15:21:29 2019 -0700

    Rename GDT core libraries to GDTCOR (#3808)

commit 623e8219d40a111e2625f7005c7b19c46278f07d
Author: Konstantin Varlamov <[email protected]>
Date:   Mon Sep 9 17:12:17 2019 -0400

    Remove specialization of std::hash for Timestamp (#3797)

commit 7ac9dbcc9e9ddec139051612c71ec01059ddbff1
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 9 10:25:50 2019 -0700

    Fix header issues exposed by :generate_multiple_pod_projects (#3803)

commit e04843b5c4418b29ed6ece2d9a9c319e91168f43
Author: Paul Beusterien <[email protected]>
Date:   Mon Sep 9 10:09:13 2019 -0700

    Remove UIWebViewDelegate references (#3799)

commit 3d77a65e67e54975dde2d4ad2f3753e73bc30f13
Author: dmandar <[email protected]>
Date:   Fri Sep 6 14:32:47 2019 -0700

    Update comment for correct activate method. (#3795)

commit 89a276928c847befeae4c58aad0cd15900630058
Author: Maksym Malyhin <[email protected]>
Date:   Fri Sep 6 15:19:25 2019 -0400

    Merging the 6.8.0 release into master (#3783)

    * Update versions for Release 6.8.0

    * RemoteConfig fix pod spec lint (#3715) (#3716)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

    * Remote Config `pod spec lint` fixes (#3717) (#3718)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

    * Add FDL to M55 (#3724)

    * Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
    * Add FDL to M55

    * Fix accessing a destroyed object (#3721) (#3725)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

    * Cherry pick GDT changes for 6.8.0 and increment versions (#3770)

    * Release 6.8.0: cherry pick of #3764 and #3766 (#3772)

    * Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

    * Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

    * Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)

    * Update FDL CHANGELOG (#3781)

    * Issue number, not PR number (#3785)

commit d440418963196c425d2fc76ad415106c83e5eb61
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 6 11:10:39 2019 -0700

    Fix SIGSEGV in callback after block is nil'd (#3786)

commit dfa411338f48244baeee434df2b94d84475e987b
Author: Paul Beusterien <[email protected]>
Date:   Fri Sep 6 08:37:18 2019 -0700

    Fix symbol collision failure introduced by 6.8.0 release (#3789)

commit 9b0d5a3b1af4e96c4ffe8e0d8e2f94a7bc2c4b75
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 09:26:59 2019 -0400

    Add @DocumentId equivalent to Swift Codable (#3762)

    * Commit with failed optional test case.

    * Integration Test and cleanup

    * swiftformat

    * better doc formatting

    * addressing comments

    * rename to SelfDocumentID

    * Addressing Comments

    * fix comment

commit c8c2c21d7bb039fdc2282735b62a09cb918c16ca
Author: wu-hui <[email protected]>
Date:   Fri Sep 6 07:49:28 2019 -0400

    Add optional value to ExplicitNull and ServerTimestamp (#3784)

    * Add optional value to ExplicitNull and ServerTimestamp

    * Fixing comments

    * another comment fix

commit 1ce982de852b23bb6a4bac08e06cda6841ab2b0d
Author: wu-hui <[email protected]>
Date:   Thu Sep 5 18:40:58 2019 -0400

    Port FSTSyncEngine to C++ SyncEngine 2/2 (#3741)

commit f0f0aeba209f41ab006512e1c1032e38a9ab4ab5
Author: Sebastian Schmidt <[email protected]>
Date:   Thu Sep 5 15:36:29 2019 -0700

    Don't persist documents that we already have (#3650)

commit cbdf31dc4f192256edc904dd917509e34c4b4bcf
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 17:01:28 2019 -0400

    Issue number, not PR number (#3785)

commit 8e607ab6744f42c7bbed9b3f00d4107ff7bd4a6e
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 15:34:13 2019 -0400

    Update FDL CHANGELOG (#3781)

commit b345fe709c882e6f769858bcf296b86ec1fb5837
Author: Ryan Wilson <[email protected]>
Date:   Thu Sep 5 14:41:38 2019 -0400

    Add ComponentContainer tests for dependencies. (#3774)

    * Add tests for container dependencies.

    * Add Component Container tests for dependencies.

    This ensures that no deadlocking occurs when fetching from the
    container, and when a delete occurs.

commit f750f87f9f5b38e0647464e1168766aac7d62558
Author: Gil <[email protected]>
Date:   Thu Sep 5 09:10:15 2019 -0700

    Add CMake support for FSTLocalSerializer (#3753)

    * Add support for building Objective-C protos in CMake

    * Add support for building FSTLocalSerializer to CMake

    * Build ProtoSizer with CMake

    * Build memory components with CMake

    * Build LevelDB components with CMake

commit 5ecb6702e682220ed202ede3f570e8f05c3901f3
Author: christibbs <[email protected]>
Date:   Thu Sep 5 09:52:40 2019 -0400

    Fix comment for initializer for `FIRInAppMessagingAction` after deprecation (#3765)

commit d058af9556fef56a8da27b890a5bd2a4a8bb6260
Author: Gil <[email protected]>
Date:   Wed Sep 4 14:56:04 2019 -0700

    Finish sizer interface (#3752)

    * Use int64_t for CalculateSizeBytes

    This avoids a bunch of nasty casting/checking in other parts of the code

    * Use the Sizer for MutationBatches

    * Don't double-count document key size.

commit ffd7316a013e96e6e1f5f45bdedba16a0fbdcf12
Author: wu-hui <[email protected]>
Date:   Wed Sep 4 15:15:31 2019 -0400

    Port FSTSyncEngine to C++ SyncEngine 1/2 (#3726)

    * Ported and delegated

    * using util

    * use shared_ptr by value

    * reformat

    * addressing comments #1

    * addressing comments #2

    * addressing comments #3

commit 9fffc5d6033505ac3276f5fee10e5abbfd2fca34
Author: Konstantin Varlamov <[email protected]>
Date:   Wed Sep 4 14:45:50 2019 -0400

    Fix erroneous move (#3769)

    Here, the error actually has to be copied because it is passed to more than one listener. Currently, this doesn't make a difference because `util::Status` has no move constructor.

    Also, make the relevant method take the status by const reference.

commit 58cae6c573bede2a01008a32452e1524b3c7d342
Author: Gil <[email protected]>
Date:   Wed Sep 4 11:39:13 2019 -0700

    Misc Objective-C cleanups (#3751)

    * Clean up references to Firestore.pbrpc

    We're no longer using Objective-C gRPC services and this is no longer generated.

    * Remove no longer existing entries from xcgmock

commit 27e67868e829d74dbcccbd57c1871bd7832bf838
Author: Ryan Wilson <[email protected]>
Date:   Wed Sep 4 12:06:59 2019 -0400

    Gate access to cached instances. (#3766)

    * Gate access to cached instances.

    This is causing an issue in #3728. Hopefully this will fix it, but no
    repro is available yet to test. There's still an underlying race
    condition where a `creationBlock` could be called twice for a component
    that is supposed to cache the instance returned, but that should be
    addressed in a follow up PR.

    * Review feedback.

commit cb4b4b372362630ed13384dd93891f7566868ad2
Author: Paul Beusterien <[email protected]>
Date:   Wed Sep 4 07:28:04 2019 -0700

    cocoapod-generate 1.6.0 released (#3767)

commit 06095920bf16f7080507216bc1bbfa7c104386bf
Author: Michael Haney <[email protected]>
Date:   Tue Sep 3 20:37:16 2019 -0700

    Transition from NSAssert to GDTAssert in all GDT libraries (#3768)

    * Git rid of all NSAsserts in GDT and GDTCCT

    - Moves GDTAssert to be a public API
    - Always logs to console
    - Differentiates between fatal and non-fatal assertions
    - Messaging of assertions encourages creating an issue
    - Tests assertion use with NS_BLOCK_ASSERTIONS defined and undefined

    * Update CHANGELOGs and remove one last NSCAssert

    * Remove a test because xcconfigs aren't respected

    * Address nit

commit 0d0f90593e41e00b1857828ebf50fd4fe3d1704d
Author: christibbs <[email protected]>
Date:   Tue Sep 3 16:38:20 2019 -0400

    Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

commit 6f249cae07cccf8ffdeec7fd3f8d585946cf3ad6
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 3 12:37:17 2019 -0700

    Fix Remote Config travis flakes (#3738)

commit b594723572311bb52fc9e2c54a50ddf08b4fbecc
Author: Paul Beusterien <[email protected]>
Date:   Tue Sep 3 08:46:21 2019 -0700

    Update formatters for the Xcode 10.3 Travis image (#3739)

commit e374338b83f96bbb21c6f0bb4d35adc8d33b42d0
Author: Gil <[email protected]>
Date:   Mon Sep 2 20:07:28 2019 -0700

    Fix removal of view references in FSTLocalStore (#3737)

commit 3a2077f1e4679d78a041861df48710c3194cb2d7
Author: Gil <[email protected]>
Date:   Mon Sep 2 16:40:21 2019 -0700

    Fixes for the Codable API (#3734)

    * Annotate Transaction and WriteBatch methods as discardable

    These methods exist to allow chaining if that's useful but chaining
    isn't expected or required.

    Note that Objective-C methods in these types are implicitly
    @discardableResult and don't need any extra help.

    * No need to explicitly discard results

    * Fix typos in FIRCollectionReference docs

    * Add support for CollectionReference.addDocument(from:)

commit ab7897232f5a33c6a9e539839fac12eeacf03dba
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 30 13:24:34 2019 -0400

    Update packaging of MLKit pods. (#3731)

    This removes some unnecessary code due to previously duplicated
    frameworks, woo!

commit 932ab0e265de809e3c4366c9965da4e6c6fe267f
Author: Paul Beusterien <[email protected]>
Date:   Fri Aug 30 10:20:40 2019 -0700

    Disable loopy cron tests (#3730)

commit bb563c8497c0a8fb4d237604062535701dd7ba25
Author: Paul Beusterien <[email protected]>
Date:   Thu Aug 29 12:26:30 2019 -0700

    Migrate travis to Xcode 10.3 and single platform builds (#3714)

commit 5da6b69a7d4d171db6711e65d93484fcc99e99fb
Author: Konstantin Varlamov <[email protected]>
Date:   Thu Aug 29 14:14:09 2019 -0400

    Fix accessing a destroyed object (#3721)

    This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

    Also:
    * enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
    * make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

commit 7095c0b39030a59544b2d03572402cf45548fe35
Author: Loïc Dardant <[email protected]>
Date:   Thu Aug 29 10:08:57 2019 -0400

    Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)

commit 1e889cf43cd9a9ab54d87f7673a190f1fe2ff3d1
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 17:32:13 2019 -0400

    Remote Config `pod spec lint` fixes (#3717)

    * Fix ExperimentPayload.pbobjc.h imports

    * RemoteConfig tests: add missing headers to spec.

    * Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

commit 453f887e0bfd68b167dedb9c97aed94633a82302
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 15:17:56 2019 -0400

    RemoteConfig fix pod spec lint (#3715)

    * ABTesting: add protos to private headers.

    * RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

    * ./scripts/style.sh

commit cd516bca5b244ce848f02d99165aec62838bf8a7
Author: Maksym Malyhin <[email protected]>
Date:   Wed Aug 28 11:11:51 2019 -0400

    GoogleUtilities: recover Xcode 8 compatibility. (#3713)

commit 83195cb02ea7218f168a0be5d325d787d2556a1b
Author: Ryan Wilson <[email protected]>
Date:   Wed Aug 28 10:28:14 2019 -0400

    Update NOTICES (#3653)

    * Update NOTICES

    This was out of date compared to the internal version.

    * Remove trailing whitespaces.

commit f964056353f7578cbdecc47b3f9a9ac9394a1943
Author: dmandar <[email protected]>
Date:   Wed Aug 28 07:25:34 2019 -0700

    Recreate an NSURLSession for updates to the fetch timeout. (#3683)

commit 5fd5ed2131730bf8806b405410d1dd8ddda37ecf
Author: christibbs <[email protected]>
Date:   Tue Aug 27 20:02:33 2019 -0400

    Update CHANGELOG.md (#3710)

commit 5cb58b881dd2618cd1d40ba89605ef5ab87758ed
Author: Maksym Malyhin <[email protected]>
Date:   Tue Aug 27 17:59:27 2019 -0400

    GULSecureCoding introduced. (#3707)

    * GULKeyedArchiver introduced.

    * Bump GoogleUtilities version.

    * Rename GULKeyedArchiver to GULSecureCodingTests. API cleanup.

    * API notes.

    * ./scripts/style.sh

    * GoogleUtilities version 6.3.0

commit 89bae97cd56ea525fbc4f9eb58cb8c93819ab5e0
Author: Maksym Malyhin <[email protected]>
Date:   Tue Aug 27 17:43:49 2019 -0400

    Firebase Installations: integration tests on Travis (#3652)

commit e451960e6ff6cbcbeaa73045979b40fc3e067d70
Author: christibbs <[email protected]>
Date:   Tue Aug 27 16:56:21 2019 -0400

    Undeprecate initializer for FIRInAppMessagingAction (#3656)

    * Undeprecate initializer for FIRInAppMessagingAction

    * Styles.sh

commit 76601bf5e9c12612b69bddad3b86ccabb67bfab2
Author: Gil <[email protected]>
Date:   Tue Aug 27 13:48:27 2019 -0700

    Update CHANGELOG for Firestore v1.5.0 (#3705)

commit 4fe65153abcc8462981142acbe5d3b3840262df4
Author: Chen Liang <[email protected]>
Date:   Tue Aug 27 13:14:20 2019 -0700

    fcm release log for M55 (#3704)

commit 238c336eddecf6c98de6ab689da1f524d0bb8833
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 10:01:15 2019 -0700

    Update ABT Changelog for M55 (#3703)

commit b28291b206a6c1392da0b67e76365c88c2f850bc
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 09:32:38 2019 -0700

    IID Changelog update for M55 (#3702)

commit c5b5a44603ad1452a9caef1b26e58ed7fb050d2b
Author: wu-hui <[email protected]>
Date:   Tue Aug 27 11:51:01 2019 -0400

    Rename shutdown to terminate and publish it. (#3694)

    * Rename shutdown to terminate and publish it.

    * Addressing feedbacks

commit 423cab7732c4619597047dff706414e70a7fdc5f
Author: Gil <[email protected]>
Date:   Tue Aug 27 08:27:44 2019 -0700

    Add a Sizer abstraction to MemoryPersistence (#3692)

    This breaks the link between MemoryPersistence-related classes and
    FSTLocalSerializer, making it possible to use these in straight C++.

commit 58256d207d3417c805cd03707563b65a140b5fe4
Author: Paul Beusterien <[email protected]>
Date:   Tue Aug 27 07:56:53 2019 -0700

    Carthage instruction fix for Firestore resource (#3700)

commit aa326a47ce0ccd618df2b4297d1c19bea36bf8be
Author: Gil <[email protected]>
Date:   Mon Aug 26 21:56:15 2019 -0700

    Migrate FSTLRUGarbageCollector to C++ LruGarbageCollector (#3685)

    * Add ReferenceDelegate

    * Remove Objective-C crutches from model/types.h and query_cache.h

    * Add C++ LruGarbageCollector

    * Add delegate bridges for LruDelegate and ReferenceDelegate

    * Migrate from FSTLRUGarbageCollector to C++ LruGarbageCollector

commit 5cdff78f2b096678e17d6601e66827000584b0af
Author: Gil <[email protected]>
Date:   Mon Aug 26 19:39:54 2019 -0700

    Migrate FSTView to C++ View (#3684)

    * Add C++ ViewChange

    * Migrate FSTViewChange to C++ ViewChange

    * Add C++ View

    * Migrate FSTView to C++ View

commit 6cf151f28ad35ef34d1c11c8b36ca66105d2034a
Author: Gil <[email protected]>
Date:   Mon Aug 26 19:35:45 2019 -0700

    Fix Xcode 8 builds (again) (#3695)

    The fix in #3647 was essentially undone in #3648 because even though the
    podspec no longer depends on FirebaseCoreDiagnostics, adding in local
    pod declarations for these brought them back into the project.

    This change removes local pod declarations for the dependencies that
    break under Xcode 8 as well.

commit 4422243a2b2e5544de857e6c12922a4d782f58c3
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 16:57:58 2019 -0700

    Fix RC test flake from deallocated Expectations (#3681)

commit e47dc20de52ddbd6e7052ac8c802c1ce7cf58abc
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 16:11:15 2019 -0700

    Header path standards for copybara (#3668)

commit d2393c815bee467a9dc011dae3a559c0eed13b4e
Author: Paul Beusterien <[email protected]>
Date:   Mon Aug 26 14:20:41 2019 -0700

    Merge 6.7.0 patch 2(GDT 1.1.3) back to master (#3693)

commit 6bcf6ba58c037280c3228aeaab8caecb8e1fc19e
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 16:08:46 2019 -0400

    publish waitForPendingWrites (#3690)

    * publish waitForPendingWrites

    * add change log

    * move impl out of internal

commit 7870c73b7c13633630020793590c4baf7ff22a90
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 15:48:18 2019 -0400

    Port FSTFirestoreClient to C++ 2/2 (#3657)

    * firestore_client + FSTFirestoreClient becomes delegate.

    * fix comment

    * addressing comment

    * use new instead make_shared

    * reformat

    * Update references to firestore client

    * Addressing comments#2

    * addressing comments #3

    * add std::move

    * remove deleted header.

    * fix cmake build error.

commit 77b5181807c7158a0e330b4f3fc15198dc7bbf95
Author: Michael Haney <[email protected]>
Date:   Mon Aug 26 11:24:54 2019 -0700

    Wrap decoding targetToInflightPackages in a try/catch (#3689)

    It's not apparent how a key could be stored with a nil object in the dictionary. Maybe it's possible that somehow a GDTUploadPackage fails to decode, but there aren't any indications that this is the case. This PR adds a check for contents of the dictionary, though encoding an empty dictionary should be fine. A try/catch is utilized to catch exceptions thrown in iOS's implementation of NSSecureCoding in NSMutableDictionary.

commit 51ded3fefb0caf24ad4e5d11ac74155bb998b572
Author: Chen Liang <[email protected]>
Date:   Mon Aug 26 11:13:50 2019 -0700

    should not persist context message ID in loggedMessageIDs (#3670)

commit 653744196f2f6b74713813bf2c5eb681982e5fe2
Author: wu-hui <[email protected]>
Date:   Mon Aug 26 11:37:18 2019 -0400

    Port FSTFirestoreClient to C++ 1/2 (#3640)

    * firestore_client + FSTFirestoreClient becomes delegate.

    * fix comment

    * addressing comment

    * use new instead make_shared

    * reformat

    * Addressing comments#2

    * addressing comments #3

commit 49de84aa5cac610a4b0cdfe0400777ca3ec06028
Author: Gil <[email protected]>
Date:   Sun Aug 25 17:40:31 2019 -0700

    Migrate FSTMutationBatch to C++ MutationBatch (#3673)

commit 593fcefd61bdec30033cd51e3699500a475f1d17
Author: Gil <[email protected]>
Date:   Sun Aug 25 14:43:32 2019 -0700

    Complete implementation of C++ MutationBatch (#3672)

    * Implement the rest of MutationBatch

    * Teach LocalSerializer about base_mutations

commit 07a64930e8283f5a01e8aab6f4a8dc5ef6eb2ca7
Author: Gil <[email protected]>
Date:   Fri Aug 23 17:02:30 2019 -0700

    Upgrade Firestore emulator to 1.8.0 (#3675)

commit 9d54dcce4317ee875eb1b46d0d294e6ec38ed631
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 17:14:25 2019 -0400

    Rename carthage directory when there's no RC number (#3674)

    This should prevent unintentional overrides during CI runs.

commit 146d4ce4cdab551b462133ec13e4768b2718a31d
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 16:26:05 2019 -0400

    Properly pass carthage flag to CD. (#3671)

commit 0da97f967658e5f89737094b95cffe6a7893d5cc
Author: Gil <[email protected]>
Date:   Fri Aug 23 12:08:20 2019 -0700

    Conditionally use local sources for Firestore (#3648)

    This will force post-merge builds to validate compatibility with
    pre-release versions of other Firebase pods

commit 937a7364974493b3b388c274c5e0afc79b4f2691
Author: Ryan Wilson <[email protected]>
Date:   Fri Aug 23 15:03:13 2019 -0400

    Remove support for cached zip builds. (#3574)

    * Remove support for cached zip builds.

    This never really worked that well, and isn't used since we're now
    building the zip file on Kokoro. Quick iterations can be handled with
    changing the `podsToInstall` variable leaving this code outdated and
    unnecessary.

    * Remove unnecessary initializer.

commit 62af87557d5f7ad1439b8fdcdc99d5f9335e8386
Author: Paul Beusterien <[email protected]>
Date:   Fri Aug 23 10:06:48 2019 -0700

    Merge 6.7.0 patch 1 (#3666)

commit 6d875b489273896d347e6c2ce6c3a5e9b07fe61a
Author: Gil <[email protected]>
Date:   Fri Aug 23 08:34:46 2019 -0700

    Fix connectivity monitor redispatching. (#3663)

    In #3467, we changed the connectivity monitor to take callbacks from
    SCNetworkReachability on the main thread but didn't make the
    corresponding change to enqueue the notification back onto Firestore's
    worker.

commit 1971af49c9b97b7640673981a7f4a63241a9b4c6
Author: Gil <[email protected]>
Date:   Thu Aug 22 15:18:11 2019 -0700

    Partially migrate stream tokens from NSData to ByteString (#3643)

    * Convert stream tokens from NSData to ByteString

    Note that this persists in using protobuf's conflation of empty and null
    strings.

    * Rename remote_event.mm to .cc

commit 2f5e4fdd95676c2daa00d107fcde491c86a7d53f
Author: Paul Beusterien <[email protected]>
Date:   Thu Aug 22 13:37:44 2019 -0700

    Start RemoteConfig CI and fix/ignore warnings (#3649)

commit 3b74c3fe08f22454c9afdeffbe0e2500627bafa8
Author: Chen Liang <[email protected]>
Date:   Thu Aug 22 13:04:53 2019 -0700

    fix why local timezone message is never logged (#3638)

commit e7d5e60eca7cb77b37dfb6e48a48a221e58598b5
Author: Gil <[email protected]>
Date:   Thu Aug 22 12:28:08 2019 -0700

    Revert "Disable Firestore xcodebuild with tsan (#3628)" (#3644)

    This reverts commit 6f537bf10a43833bac343e65ff5b4ca7d0c78771.

commit adb93131fa3f9eab676fc7a9ae50c1c7d374f7b7
Author: wu-hui <[email protected]>
Date:   Thu Aug 22 15:02:30 2019 -0400

    Fix misplaced waitForPendingWrites (#3654)

    * Fix misplaced waitForPendingWrites

    * reformat

commit 331f651eae61ec08b5cc2d6f89d116de5036b873
Author: Gil <[email protected]>
Date:   Thu Aug 22 08:27:02 2019 -0700

    Add serializer support for transform mutations (#3642)

    * Rename Encode/DecodeDocumentMask to *FieldMask to name after the model type

    * Add Serializer::{Encode,Decode}FieldPath

    * Avoid passing Serializer* everywhere in serializer_test.

    * Add support for serializing TransformMutations

commit c42bf815a5aa91cfde0369e3ca98255cd79fccf5
Author: Gil <[email protected]>
Date:   Wed Aug 21 17:15:57 2019 -0700

    Fix Firestore builds under Xcode 8 (#3647)

    * Fix Firestore builds under Xcode 8

    * FirebaseCore must be a local pod

    Otherwise pod install won't pick up local edits to that podspec

commit d70c873654a3dbfd5171fb2fb60ddb6580b5d974
Author: Paul Beusterien <[email protected]>
Date:   Wed Aug 21 15:41:58 2019 -0700

    Release 6.7.0 (#3646)

commit 9335275306427e6c2c16191c9867774d95ea3619
Author: Paul Beusterien <[email protected]>
Date:   Wed Aug 21 14:26:41 2019 -0700

    Open Sourcing Remote Config (#3645)

commit c7777be93ce1c4355ce7f040fcc965b14c89e0fd
Author: Brian Chen <[email protected]>
Date:   Wed Aug 21 11:12:09 2019 -0700

    Retrying transactions with backoff (#3599)

commit d99c6c307d57af41d9da26a3288724522869a9a3
Author: Gil <[email protected]>
Date:   Wed Aug 21 08:11:21 2019 -0700

    Upgrade LevelDB to 1.22 (#3637)

commit 876eff84e6c3ea7f5fa9a8c48e070e662957dc11
Author: Gil <[email protected]>
Date:   Tue Aug 20 20:09:16 2019 -0700

    Factor out nullability.h (#3639)

commit 2e5e8b56762ac2254185c83d4b9eae2c44cdedf9
Author: Gil <[email protected]>
Date:   Tue Aug 20 14:56:32 2019 -0700

    Migrate FSTQueryData to C++ QueryData (#3595)

    * Migrate FSTQueryData to C++ QueryData

    * Remove FSTQueryData

commit ea3b589ac03e6dcd868c680510dbea3c3c9dc452
Author: wu-hui <[email protected]>
Date:   Tue Aug 20 16:18:02 2019 -0400

    Port waitForPendingWrites (#3619)

    * port waitForPendingWrites

    * addressing comments #1

    * remove commented line

    * another change to disable network

commit 450acf9c421239843b9a16d9b9b8fdf57ae7e525
Author: Konstantin Varlamov <[email protected]>
Date:   Tue Aug 20 13:49:14 2019 -0400

    Remove no-longer-used `FSTAsyncQueryListener` (#3634)

commit dfa645ead1974cdc47cd5a173aa9145732b0b129
Author: Ryan Wilson <[email protected]>
Date:   Tue Aug 20 12:30:06 2019 -0400

    Use different modulemap for Carthage. (#3636)

    * Use different modulemap for Carthage.

    The zip file and Carthage distribution use different modulemaps - use
    the correct one for Carthage. Will address #3578 once this is used in
    generating the next Carthage release.

    * Fix style

commit 55d353fe29e00b89afde9fb50b6a6150fcd4d286
Author: Michael Haney <[email protected]>
Date:   Mon Aug 19 21:00:53 2019 -0700

    More safely manage background tasks (#3633)

    * More safely manage background tasks

    Delete a test that can't be run now.

    * Move state saving back to being async.

commit 42c963549db07a125c1190f92947d987d31110c8
Author: Morgan Chen <[email protected]>
Date:   Mon Aug 19 15:39:45 2019 -0700

    Document undocumented declarations (#3620)

commit e694b6156c1bede1919935449190afbd2588bce6
Author: Michael Haney <[email protected]>
Date:   Mon Aug 19 14:23:03 2019 -0700

    Fix backgrounding in GDTStorage (#3627)

    * Don't end a background task twice

    * Ensure that setting backgroundID is atomic

    * Remove @synchronizeds, use a volatile variable instead

    * Don't run NSCoding methods on the queue

    All calls utilizing NSKeyedArchiver archiveXXXX should be called from on the storage queue, but it shouldn't enqueue itself.

    * Style

    * Update CHANGELOG

    * Change PR #s to issue #s

commit 6f537bf10a43833bac343e65ff5b4ca7d0c78771
Author: Gil <[email protected]>
Date:   Mon Aug 19 13:38:32 2019 -0700

    Disable Firestore xcodebuild with tsan (#3628)

    There's currently a nontrivial TSAN issue with LevelDB that causes these
    to fail. Resolution of that issue is tracked as b/139669731. Once that
    is resolved, we can revert this change.

commit 6b36c0671af555882f99ff6dd32bc83d2e5926e5
Author: Gil <[email protected]>
Date:   Mon Aug 19 12:22:56 2019 -0700

    Migrate from NSData to nanopb::ByteString for resume tokens (#3592)
@paulb777 paulb777 deleted the wuandy/FirestoreCodable branch October 2, 2019 19:20
@firebase firebase locked and limited conversation to collaborators Oct 13, 2019
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants