aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore
Commit message (Collapse)AuthorAge
* Fix undefined behaviour in test. (#1381)Gravatar rsgowman2018-06-05
| | | | | PB_LAST_FIELD is required by nanopb, but was missed in the test. Without this, undefined behaviour results. (Either manifesting itself as fine (i.e. if there's zeros following) or segfaults.)
* Add pathname manipulation utilities (#1376)Gravatar Gil2018-06-05
|
* Skip unknown fields while decoding BatchGetDocumentsResponse proto objects ↵Gravatar rsgowman2018-06-05
| | | | (#1377)
* Build cleanup (#1375)Gravatar Gil2018-06-04
| | | | | | * Remove extraneous firebase_firestore_util_async_queue target * Remove unimplemented declaration in string_util.h
* Skip unknown fields while decoding FieldValue proto objects. (#1354)Gravatar rsgowman2018-06-04
|
* Add a new Xcode target and scheme for fuzz tests (#1364)Gravatar Mina Farid2018-06-04
| | | | | | | | | | | | | | | Created `Firestore_FuzzTests_iOS` Xcode target as a duplicate of the target `Firestore_Tests_iOS`. - Added `-fsanitize-coverage=trace-pc-guard` to the compiler flags to enable code coverage by libFuzzer fuzzing driver. - Modified the files to compile to the fuzz testing ones. - Added a Principal testing class. * Modified the `Podfile` to include `LibFuzzer.podspec` as a dependency for the target `Firestore_FuzzTests_iOS`. * Added a skeleton for fuzz testing. Currently does not test any code but the fuzzing works fine and calls an empty `LLVMFuzzerTestOneInput` with different input values. - This means that fuzzing does not finish or crash.
* Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371)Gravatar rsgowman2018-06-04
| | | | | This avoids a collision with the libprotobuf generated files. Also removes the "well-known" cpp protos, relying on libprotobuf to supply these instead.
* Fix Firestore compilation under Xcode < 9.2 (#1367)Gravatar Gil2018-06-01
| | | | | | | | | | | | | | | | * Don't rely on specialization failure to determine when std::hash is unavailable. Instead manually declare the conditions under which std::hash should be defined. * Fix detection of Objective-C classes in Xcode < 9.2 std::is_base_of<NSObject, NSString>{} is false there so the overloads defined for Objective-C types weren't getting enabled. * Add explicit tests for StringFormat using Objective-C objects * Add explicit tests for HasStdHash
* Fix changelog (#1363)Gravatar Gil2018-05-31
|
* Remove nearly all usages of WrapNSStringNoCopy (#1351)Gravatar Gil2018-05-30
|
* Allow repeated entries in Value proto. (#1346)Gravatar rsgowman2018-05-30
| | | | | | | Normally, this would be unexpected, as only a single entry in the Value proto *should* be present. However, the proto docs state that parsers should be able to handle repeated fields. (In the case of repeated fields, the last one "wins".)
* Merge pull request #1350 from firebase/release-5.1.0Gravatar Ryan Wilson2018-05-29
|\ | | | | Release 5.1.0
* | Handle deserializing BatchGetDocumentsResponse error case... (#1344)Gravatar rsgowman2018-05-29
| | | | | | | | ... where neither 'found' nor 'missing' fields set.
* | "Handle" BatchGetDocumentsResponse.transaction (by ignoring it) (#1318)Gravatar rsgowman2018-05-28
| |
* | Added .podspec file for libFuzzer (#1338)Gravatar Mina Farid2018-05-28
| | | | | | | | | | | | | | | | | | | | | | * Added .podspec file for libFuzzer * The libFuzzer pod does not include the `main()` function to allow the pod to be built independently. * Fuzzing applications must provide both the `main()` function and the `LLVMFuzzerTestOneInput` function. The `main()` function should call `fuzzer::FuzzerDriver(...)` similar to the original `FuzzerMain.cpp`. * LLVM License and authors
* | Firestore project: Import of API interfaces. (#1337)Gravatar zxu2018-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 198063502 Address comment upstream. by zxu <zxu> - 197942352 Fix style upstream and fix destination depot in copybara. by zxu <zxu> - 197925542 Fix headers with change from GitHub, see the current diff... by zxu <zxu> - 197922012 Implement ListenerRegistration::Remove(). by zxu <zxu> - 197713382 Implement more on listener class and implement ListenerRe... by zxu <zxu> - 196551381 Implement more on listener class and implement the Docume... by zxu <zxu> - 196276752 Implement the SnapshotMetadata with inline methods and (n... by zxu <zxu> - 195841793 Implement the wrapper class for callback (EventListener). by zxu <zxu> - 194112388 Add Android-Wrapper for DocumentReference's non-callback ... by zxu <zxu> - 192445183 Add Android-Wrapper for Firestore's remaining methods. by zxu <zxu> - 190986604 Manually import the public portion of by mcg <mcg> - 189013767 Add Android-Wrapper for Firestore's method that does not ... by zxu <zxu> - 188809445 Import of firebase-ios-sdk from Github. by mcg <mcg> - 187049498 Import of firebase-ios-sdk from Github. by mcg <mcg> - 184568931 Import of firebase-ios-sdk from Github. by mcg <mcg> ORIGINAL_AUTHOR=Firebase <firebase-noreply> PiperOrigin-RevId: 198063502
* | Replace Objective-C assertions with C++ assertions (#1327)Gravatar Gil2018-05-24
| | | | | | | | | | | | | | | | * Migrate FSTFail to HARD_FAIL * FSTCFail -> HARD_FAIL * FSTCAssert -> HARD_ASSERT * FSTAssert -> HARD_ASSERT * Replace FSTAssert with NSAssert in dead Objective-C code * Remove FSTAssert.h
* | Fix Objective-C logging (#1322)Gravatar Gil2018-05-23
| |
* | Add a test synchronization script (#1303)Gravatar Gil2018-05-23
| | | | | | | | | | | | * Add a project sync script * Give an error if the configuration references a group that doesn't exist * Fix hard_assert_test reference * Run sync_project to sort all project elements
| * Bump version numbers for 5.1.0 (#1320)Gravatar Ryan Wilson2018-05-23
| | | | | | | | | | | | | | | | * Bump version numbers for 5.1.0 * Update push pods script for releasing SDKs. * Fix Core library version string.
* | Deserialize NoDocument instances (#1311)Gravatar rsgowman2018-05-23
| | | | | | | | | | | | Note that it isn't possible to *serialize* NoDocuments. Still TODO: - Error handling
* | Reimplement C++ logging (#1313)Gravatar Gil2018-05-23
|/ | | | | | | * Add direct support for formatting Objective-C objects * Rewrite log.h * Convert FSTWarn to LOG_WARN * Convert FSTLog to LOG_DEBUG * Remove FSTLogger
* Directly validate collection and document paths (#1316)Gravatar Gil2018-05-22
| | | | | | ... instead of relying on HARD_ASSERTS in resource_path.cc to catch them. This fixes an integration test broken in #1304.
* Remove extraneous braces (#1315)Gravatar Gil2018-05-22
|
* Add a HARD_ASSERT C++ assertion macro (#1304)Gravatar Gil2018-05-22
| | | | | | * Add HARD_ASSERT * Use HARD_ASSERT * Remove FIREBASE_ASSERT * Remove StringPrintf
* Add namespace alias for v1beta1 (#1310)Gravatar rsgowman2018-05-22
| | | Roughly s/google::firebase::v1beta1/v1beta1/g
* Firestore project fixes (#1301)Gravatar Gil2018-05-22
| | | | | | * Move GoogleTest.podspec out of the Tests tree * Rename GoogleTests to CoreTests * Move CoreTests to the top-level * Move FSTGoogleTestTests.mm into core/test
* [De]serialize non-empty Document instances (#1284)Gravatar rsgowman2018-05-22
| | | | | | | * [De]serialize non-empty Document instances Still TODO: - NoDocument - ErrorHandling
* fix build for Firestore copybara import (#1308)Gravatar zxu2018-05-22
| | | | | | * fix "target of using declaration conflicts with declaration already in scope" * fix "call to implicitly-deleted copy constructor of *unique_ptr*"
* Add a C++ native StringFormat (#1289)Gravatar Gil2018-05-21
| | | | * Add StringFormat * Use StringFormat
* fix lint to run copybara (#1290)Gravatar zxu2018-05-17
| | | | | | * fix lint to run copybara * address changes
* b/79432277: Limit Queries to only a single array-contains clause. (#1286)Gravatar Michael Lehenbauer2018-05-16
|
* Refactoring serializer.cc (#1281)Gravatar rsgowman2018-05-16
| | | | Mostly to make existing methods a bit more general to support followup PR (which will allow encoding/decoding documents with contents.)
* mergeGravatar Paul Beusterien2018-05-15
|\
* | [De]serialize empty Document instances (#1262)Gravatar rsgowman2018-05-15
| | | | | | | | | | | | | | | | | | * [De]serialize empty Document instances Still TODO: - non-empty - NoDocument - ErrorHandling
* | More macOS/static library prep (#1280)Gravatar Gil2018-05-15
| | | | | | | | | | | | | | | | | | | | * Avoid direct use of generated umbrella headers These: * don't exist in static library builds * have different names in multi-platform builds * Only iOS targets depend upon Firebase/Core
* | Prep for direct macOS support in Firestore pod (#1269)Gravatar Gil2018-05-14
| | | | | | | | | | | | | | | | | | * Add Firestore/Example/App group * Move "Example For Firestore" into App * Rename "Example For Firestore" to "iOS" * Update plist file location
* | Firestore: add a changelog entry on supporting concurrent queues. (#1274)Gravatar Konstantin Varlamov2018-05-14
| |
| * Merge pull request #1271 from firebase/pb-cp-all_load-fixGravatar Paul Beusterien2018-05-14
| |\ | | | | | | Eliminate duplicate symbol in CocoaPods -all_load build (#1223)
| * | Version updates for 5.0.1 (#1272)Gravatar Paul Beusterien2018-05-14
| | |
* | | Trivial/noop fix to the serializer (#1264)Gravatar rsgowman2018-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was using google_firestore_v1beta1_MapValue_FieldsEntry_key_tag to tag the key/value pair. (But that tag should be used for the *key* of the key/value pair, not the pair itself.) Switched to using google_firestore_v1beta1_MapValue_fields_tag. This previously worked anyways by coincidence. These two values happen to be the same. (But it caused me all sorts of confusion as I adapted this for Document contents.)
| | * Eliminate duplicate symbol in CocoaPods -all_load build (#1223)Gravatar Paul Beusterien2018-05-14
| |/
* | Clean up implicit retain self warnings introduced recently (#1268)Gravatar Gil2018-05-13
| |
* | Update travis to use CocoaPods 1.5.2 (#1103)Gravatar Paul Beusterien2018-05-13
| | | | | | | | | | | | | | | | * Update travis to use CocoaPods 1.5.2 * CODE_SIGNING_ALLOWED=YES * Remove workaround and iPhone 8 * Remove #1210 static library Podfile workaround * Add -all_load to Firestore Example so all C++ is available for tests
* | Firestore C++: make FSTDispatchQueue delegate to C++ implementation (#1240)Gravatar Konstantin Varlamov2018-05-11
| | | | | | | | | | FSTDispatchQueue now doesn't contain any logic of its own and instead just passes through all method calls to AsyncQueue (backed by an ExecutorLibdispatch).
* | Refactor serializer (#1250)Gravatar rsgowman2018-05-11
| | | | | | | | | | Moved Tag, Reader, Writer from serializer.cc's anon namespace to firebase::firestore::nanopb This should be bug-for-bug compatible. No changes were made to the moved methods.
* | Firestore: use C++ Executor for user queue. (#1238)Gravatar Konstantin Varlamov2018-05-10
| | | | | | | | | | | | | | FSTDispatchQueue enforces serial execution, which is inappropriate for user queue, because a user may configure usage of a concurrent queue in settings, breaking FSTDispatchQueue invariants. Instead, use C++ ExecutorLibdispatch directly.
* | Firestore C++: quick fix for flaky tests in AsyncQueue and Executor (#1245)Gravatar Konstantin Varlamov2018-05-10
| |
* | Firestore C++: add missing tests for Executor (#1247)Gravatar Konstantin Varlamov2018-05-10
| |
* | Add remaining tests to Xcode (#1256)Gravatar Gil2018-05-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add classes in testutil and util to the project * Exclude util/iterator_adaptors_test which requires gmock * Exclude remote/serializer_test which is missing some paths * Add iterator_adaptors_test and add gmock support * Add gmock support to the GoogleTest podspec we vendor * Add iterator_adaptors_test.cc to the Xcode project * Add a script that verifies all tests are referenced in the project * Add a travis check that all tests are referenced in the project * Review feedback * Moar feedback