Commit Graph
1369 Commits
Author SHA1 Message Date
Paul Beusterien 83e898ab5c One Firebase version (#6634) 2020-10-02 12:26:22 -07:00
Paul Beusterien 5d0a1c8ccb Merge remote-tracking branch 'origin/firebase7-main' into pb-merge-firebase7 2020-09-30 14:23:40 -07:00
Konstantin Varlamov 2d7778cdfb Add a changelog entry for Firestore platform logging (#6603) 2020-09-29 18:10:14 -04:00
Gil a039948bad Update CHANGELOG for Firestore v1.19.0 (#6601) 2020-09-29 10:58:36 -07:00
Gil 393d32f05e Make FirestoreException a type defined by Firestore/core (#6589)
Move FirestoreInternalError to firebase::firestore to match
FirestoreException in Android.

When importing this into google3, we'll have to delete the
Android-specific version of this type.
2020-09-29 09:27:46 -07:00
Konstantin Varlamov 54e0bb81fd Always send the user agent regardless of the heartbeat value (#6592)
Any non-zero heartbeat value is immediately reset to zero upon retrieval. Thus, should the network request containing the heartbeat value and the user agent string fail, the previous logic would prevent us from sending the user agent string until the next day (when the heartbeat once again returns a non-zero value). Until this is resolved, always send the user agent string, regardless of the heartbeat value. The associated increase in bandwidth usage is minor (~1.2% in _total_ traffic from running the full suite of Firestore integration tests, which represent the worst-case scenario because they recreate the streams much more often than a typical application).
2020-09-29 01:25:27 -04:00
Konstantin Varlamov 2311c36dbc Integrate Firestore with Firebase platform logging (#6507)
The sample user agent string I'm getting in XCode is `apple-platform/ios apple-sdk/17E8258 fire-fst/1.17.1 fire-ios/6.10.2 swift/true xcode/11E503a`.
2020-09-25 15:47:20 -04:00
Sebastian Schmidt 24a77d04c8 Import Spec tests (#6525)
* Import Spec tests

* Init

* Add recovery specs

* Update FSTSyncEngineTestDriver.mm
2020-09-22 18:48:04 -07:00
Paul Beusterien eea957561c Merge remote-tracking branch 'origin/master' into pb-f7-msg-update 2020-09-22 15:46:23 -07:00
Paul Beusterien a39b515f3a Update podspecs to min iOS 10 (#6517) 2020-09-22 15:11:35 -07:00
Gil 47fcf141ad Fix FSTGoogleTestTests under Xcode 12 (#6478)
The bridge from GoogleTest to XCTest recorded failures using
recordFailureWithDescription:inFile:atLine:expected:, which has been
deprecated.
2020-09-17 10:11:58 -07:00
Gil 2b4b9be8cd Update CHANGELOG for Firestore v1.18.0 (#6470) 2020-09-15 14:32:47 -07:00
Brian Chen 21921e9851 Add != and notIn support (#6418) 2020-09-15 16:12:44 -05:00
Konstantin Varlamov 9700e26f6b Add the missing include for ABSL_HAVE_EXCEPTIONS (#6447) 2020-09-14 17:52:47 -04:00
Brian Chen 04b038eb21 add protos for != and NOT_IN (#6381) 2020-09-02 11:37:57 -05:00
Gil 23a7697bcf Update CHANGELOG for Firestore v1.17.1 (#6390) 2020-09-01 18:15:28 -07:00
Gil 101990ff42 Fix clang-tidy warnings from CLion 2020.2 (#6387)
* Fix clang-tidy warnings in FieldValue

* Update clang-tidy exclusions for CLion 2020.2
2020-09-01 18:01:03 -07:00
Denver Coneybeare 95add7fc85 Fix documentation warning surfaced in Xcode from grpc (#6354) 2020-08-27 16:30:24 -04:00
Gil 0d729f1b8f Update CHANGELOG for Firestore v1.17.0 (#6299) 2020-08-18 23:53:13 -07:00
f33276f530 Update nanopb py3 0.3.9.5 -> 0.3.9.6 (#6214)
* update nanopb from 0.3.9.5 to 0.3.9.6

This fixes issues building firestore SDK with Python3.
Interestingly, latest version 0.4.2 still errors during the build
but 0.3.9.6 works. The git commit for this fix in nanopb
https://github.com/nanopb/nanopb/commit/63f8e5e4946a5f8f0211b454bd37187871c3d023

* Update generated sources

* updating just nanopb dependency version

nanopb updated from 0.3.9.5 to 0.3.9.6
(pod version 1.30905.0 to 1.30906.0)

* Add missing source specifier

* Generated files for protos using nanopb 0.3.9.6

* removed unnecessary whitespaces in files generated by protoc

* using more qualified relative paths for header includes

* Changelog

Co-authored-by: Marek Gilbert <mcg@google.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2020-08-14 14:13:01 -07:00
Konstantin Varlamov 160f21a6ca Make the language reported via headers configurable (#6264) 2020-08-14 15:21:43 -04:00
Gil 73fcb194d8 Add conditional conformance to Hashable to Firestore property wrapper types (#6249)
* Remove the extension that makes NSDate ServerTimestampWrappable.

This turns out not to actually work because NSDate does not conform to
Codable. Users can supply their own extensions that make NSDate conform
to Codable and also supply an extension like this one to make NSDate
conform to ServerTimestampWrappable.

Add a test that verifies ServerTimestamps of Dates actually work. The
equivalent test for NSDate does not compile.

* Fix minimum Swift version for FirebaseFirestoreSwift

FirebaseFirestoreSwift was already using synthesized Equatable and
Hashable conformance which requires Swift 4.1.

* Add conditional conformance to Hashable to Firestore property wrapper types

Mark these types as conforming to Hashable if the underlying type itself
conforms to hashable. This implementation relies on synthesized
Equatable and Hashable conformance that shipped as a part of Swift 4.1.

* Fix lint/style

* Changelog
2020-08-12 10:26:57 -04:00
Gil 333fd97ef6 Fix minimum Swift version for FirebaseFirestoreSwift (#6248)
`FirebaseFirestoreSwift` was already using synthesized `Equatable` and `Hashable` conformance which requires Swift 4.1.
2020-08-10 16:17:14 -07:00
Gil c04334ae0a Remove the extension that makes NSDate ServerTimestampWrappable. (#6247)
This turns out not to actually work because NSDate does not conform to
Codable. Users can supply their own extensions that make NSDate conform
to Codable and also supply an extension like this one to make NSDate
conform to ServerTimestampWrappable.

Add a test that verifies ServerTimestamps of Dates actually work. The
equivalent test for NSDate does not compile.
2020-08-10 15:42:50 -07:00
Paul Beusterien eabe8d46a0 Update and apply swiftformat fix (#6239) 2020-08-09 14:48:00 -07:00
Paul Beusterien 202df4134d Update swiftformat and control its version via mint (#6229) 2020-08-07 17:05:17 -07:00
Gil a9f6ec923d Update CHANGELOG for Firestore v1.16.4 (#6206) 2020-08-04 16:19:18 -07:00
Paul Beusterien a22b425377 Firestore - new public header structure (#6197) 2020-08-04 06:50:55 -07:00
Gil 691e71a930 Rework config.h handling for Swift Package Manager compatibility (#6087)
Swift Package Manager does not support configure-time feature testing
and does not support source transformations of any kind so we can't
cheat by running a sed command to generate config.h before building.

This change makes it so that CMake now generates a config_detected.h
while config.h always exists and contains fallback values if the build
system cannot generate config_detected.h.

Convert CocoaPods to use the same fallbacks since the values are the
same as SPM.
2020-07-22 12:37:47 -07:00
Vimanyu Jain d2fc8a7fc8 fix ordered code unit test for Release build (#6084)
Exception is thrown even in Release config. Catching the expected
exception now.
2020-07-22 12:31:30 -07:00
Gil a4daf76663 Update CHANGELOG for Firestore v1.16.3 (#6082) 2020-07-20 10:45:07 -07:00
Denver Coneybeare 69c3e4b9e5 Add an integration test for callbacks on the main thread (#6054) 2020-07-16 15:06:22 -04:00
Denver Coneybeare ffe23884da Add #include for config.h to get the value for HAVE_LIBDISPATCH (#6041) 2020-07-14 15:38:18 -04:00
Peiqin Zhao f76c0dc791 Qualify the error code in grpc_util.cc with StatusCode (#6024) 2020-07-10 17:50:35 -07:00
Gil 59c8c95501 Have ListenerRegistration::Remove block until callbacks are complete (#5961)
* Add the ability to await a single expectation

* Await individual expectations in test helpers

This prevents tests from accidentally awaiting unrelated expectations
when using the helpers.

* Fix tests that implicitly relied on test helpers to await all

* Add a test that verifies ListenerRegistration::Remove blocks

* Block ListenerRegistration::Remove when there are outstanding callbacks.

* Test that remove does not block when called from the callback.
2020-07-06 13:06:36 -07:00
Gil 6f12f3871b Make snapshots in sync listener registration removal idempotent (#5945) 2020-06-30 09:32:37 -07:00
Gil eb6d343677 Fix TSAN errors in FIRListenerRegistrationTests (#5943) 2020-06-30 08:20:27 -07:00
Paul Beusterien d653c9584c Update copyright presubmit and fix 2020 copyrights (#5944) 2020-06-29 13:16:19 -07:00
Paul Beusterien 01bf549253 Update formatters (#5933) 2020-06-26 14:34:27 -07:00
Gil eef4219707 Update CHANGELOG for Firestore v1.16.1 (#5927) 2020-06-25 18:44:23 -07:00
Gil ea71423c09 Avoid deadlock during shutdown on Linux/Windows (#5920)
* Avoid deadlock during shutdown on Linux/Windows

Under some circumstances, the Executor can be accessed by a user task
that's running during shutdown.

* Fix running with HAVE_LIBDISPATCH=0 on macOS
2020-06-25 17:56:16 -07:00
Gil 7ef9914ff9 Fix TSAN violations in FSTTransactionTests (#5922)
TSAN uncovered cases where we were reading values in the transaction
thread that were set on the main thread and were unprotected by lock. In
practice this is unlikely to cause an harm, but it's good to keep TSAN
clean for when there are real issues.
2020-06-25 17:28:24 -07:00
Gil ad369574a5 Ignore errors enumerating files during GC (#5892) 2020-06-25 17:06:03 -07:00
Gil c1102b6589 Work around rare WatchChange.result_type == 0 (#5918) 2020-06-25 15:19:29 -07:00
Paul Beusterien e03a8d91a0 Consolidate GDT and GDTCCT to a single pod (#5902) 2020-06-24 14:09:46 -07:00
Sebastian Schmidt 296a1ea1da Reset backoff when connectivity status changes (#5857) 2020-06-22 15:49:12 -07:00
Gil ee68614ba0 Use immediate rather than min time to avoid overflow (#5811) 2020-06-12 15:40:21 -07:00
Gil 05026f3df9 Properly disable tests under -DFIREBASE_IOS_BUILD_TESTS=OFF (#5807) 2020-06-12 14:29:09 -07:00
Paul Beusterien 8d4c0f4e66 Core Changelog and version updates (#5781) 2020-06-09 17:07:32 -07:00
Paul Beusterien e15724a436 Migrate from interop pods to source_files header access (#5760) 2020-06-09 06:09:27 -07:00