aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* | Move creation of pb_ostream_t's into Writer (#920)Gravatar rsgowman2018-03-15
| | | | | | | | | | | | | | | | | | | | * Move creation of pb_ostream_t's into Writer Writer now owns these structs * Writer::FromBuffer -> Writer::Wrap * add todo for possible future simplification.
| * Add sign in method constants (#923)Gravatar Zsika Phillip2018-03-14
| | | | | | | | | | * Updates Changelog for 4.5.0 release * Adds sign-in method constants
| * Temporarily disable currently-over-aggressive assert for duplicate ↵Gravatar Michael Lehenbauer2018-03-14
| | | | | | | | FSTDispatchQueue delayed callbacks. (#922)
* | Partial wrapping of pb_ostream_t (pt5) (#916)Gravatar rsgowman2018-03-14
| | | | | | | | Wraps encoding of FieldValue's. At this point, raw pb_ostream_t structs aren't used outside of Writer, except during creation of a Writer.
| * Version bumps for 4.11.0 (#919)Gravatar Paul Beusterien2018-03-14
|/
* Add a CHANGELOG entry for fixed absl symbols (#918)Gravatar Gil2018-03-14
|
* Add instruction to delete Firebase.framework from link (#917)Gravatar Paul Beusterien2018-03-14
|
* grand PR to port the remaining paths (FieldPath and ResourcePath). (#865)Gravatar zxu2018-03-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * naively remove FSTPath import and source/test files. * port FieldPath, part I * port FieldPath, part II * port ResourcePath, part I * port ResourcePath, part II * the grand commit to fix build errors * use testutil:: helper instead of those from FSTHelpers * fix test and lint * use c_str in errmsg directly * fix * fix * make code clean * fix integration test I missed * fix to avoid naming collision in preprocessor * address changes * address changes * address changes * fix: fieldMask are actually shared with different context. * address changes * address changes
* Defend against users making API calls during deinit (#863)Gravatar Gil2018-03-13
| | | | | | | | | | | | | | Track operation in progress FSTDispatchQueue ... and allow dispatchAsync onto the worker queue even from the same queue if an operation is not in progress. Fixes #753. This fixes a corner case that happens when users pass us an object and we retain that object in a block submitted to the worker queue for processing. Users are not obligated to retain that object themselves. This can lead to the object's destructor (or dealloc or deinit) being called on the Firestore worker thread. If that destructor makes Firestore API calls (most likely ListenerRegistration.remove but any are possible) this will trigger the assertion.
* Partial wrapping of pb_ostream_t (pt4) (#915)Gravatar rsgowman2018-03-13
| | | | Wraps encoding of FieldValue "Objects" (i.e. map<string, FieldValue>'s) and their entries (i.e. pair<string, FieldValue>'s)
* Update CHANGELOG for Firestore v0.10.4 (#914)Gravatar Gil2018-03-13
|
* Partial wrapping of pb_ostream_t (pt3) (#907)Gravatar rsgowman2018-03-13
| | | Wraps encoding nested messages.
* Updates Changelog for 4.5.0 release (#908)Gravatar Zsika Phillip2018-03-12
| | | | | | * Updates Changelog for 4.5.0 release * Addresses comments
* Allow serializing arbitrary length FieldValues (#889)Gravatar rsgowman2018-03-12
| | | Uses a custom pb_ostream_t. Previously used a stack allocated 1k buffer.
* Fix test failures that occur during prod build (#910)Gravatar rsgowman2018-03-12
| | | | | | | | | | | | | | * Fix ArraySortedMap.ChecksSize test (when NDEBUG is enabled) assert() is a noop when NDEBUG is defined (i.e. during production builds) so the size assertion check doesn't occur. Assuming we want this check even during prod use, I've switched assert to FIREBASE_ASSERT. * s/FIREBASE_ASSERT/FIREBASE_DEV_ASSERT/g in ordered_code.cc This keeps the behaviour in line with the original (which purposely differs if NDEBUG is defined or not.) Discovered due to the test suite (correctly) breaking during a prod build.
* Fix MutationQueue issue resulting in re-sending acknowledged writes. (#909)Gravatar Michael Lehenbauer2018-03-12
| | | | | | | | Port of: https://github.com/firebase/firebase-js-sdk/pull/559 Should address #772 once released. getNextMutationBatchAfterBatchId() was not respecting highestAcknowledgedBatchId and therefore we were resending writes after the network was disabled / re-enabled.
* Partial wrapping of pb_ostream_t (pt2) (#903)Gravatar rsgowman2018-03-12
| | | Wraps the string encode method.
* Parallelize the Travis run using build stages (#886)Gravatar Gil2018-03-10
| | | | | | | | Parallelize the travis run using build stages https://docs.travis-ci.com/user/build-stages/ This will run source checks first (style, lint) and then if all pass, kick off all platforms and builds in parallel.
* Partial wrapping of pb_ostream_t (pt1) (#899)Gravatar rsgowman2018-03-09
| | | Wraps the varint based encode methods.
* Merge pull request #901 from firebase/wilhuff/merge-release-4.10.1Gravatar Paul Beusterien2018-03-09
|\
| * Merge branch 'master' into wilhuff/merge-release-4.10.1Gravatar Marek Gilbert2018-03-09
| |\ | |/ |/|
* | Merge Release 4.10.1 into Master (#896)Gravatar zxu2018-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Version bumps for Firebase 4.10.1 (#891) * Minimal fix for b/74357976 (#890) Fixes b/74357976 which caused unauthenticated users to be unable to reach the Firestore backend and updates the changelog. * Copy all C++ strings to NSString where they're not obviously safe (#893) This fixes a known instances of memory corruption where in FSTLevelDBMutationQueue, the NSString view was retained for later, and the incorrect user was used, causing b/74381054. gRPC does not necessarily copy its string argumnets and if our hostname were configured to a non-default one it's possible that we could corrupt the host cache too. All remaining usages of util::WrapNSStringNoCopy are obviously safe: passed into logging or other known transient usages. * fix lint
| * Copy all C++ strings to NSString where they're not obviously safe (#893)Gravatar Gil2018-03-08
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a known instances of memory corruption where in FSTLevelDBMutationQueue, the NSString view was retained for later, and the incorrect user was used, causing b/74381054. gRPC does not necessarily copy its string argumnets and if our hostname were configured to a non-default one it's possible that we could corrupt the host cache too. All remaining usages of util::WrapNSStringNoCopy are obviously safe: passed into logging or other known transient usages.
| * Minimal fix for b/74357976 (#890)Gravatar Michael Lehenbauer2018-03-08
| | | | | | Fixes b/74357976 which caused unauthenticated users to be unable to reach the Firestore backend and updates the changelog.
| * Version bumps for Firebase 4.10.1 (#891)Gravatar Paul Beusterien2018-03-08
| |
* | [De]Serialize FieldValue map_values ("Objects") (#878)Gravatar rsgowman2018-03-08
| | | | | | These can (recursively) contain other FieldValues.
* | Speed up source checks in Travis (#885)Gravatar Gil2018-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Factor out a whitespace checking script * Factor out a copyright checking script * Rewrite lint.sh to honor revision ranges * Only restyle files that are part of the PR * Run C++ lint before builds to fail faster * Git grep doesn't operate on revision ranges * style.sh accepts clang-format 6 or 7
* | Factor out a universal build script (#884)Gravatar Gil2018-03-07
| | | | | | | | | | | | * Add a universal build script * Rewrite test.sh in terms of universal build
* | Adds Email link sign-in (#882)Gravatar Paul Beusterien2018-03-07
| |
* | Merge pull request #880 from firebase/release-4.10.0Gravatar Paul Beusterien2018-03-06
|\| | | | | Merge Release 4.10.0 into Master
* | port paths to FSTDocumentKey (#877)Gravatar zxu2018-03-06
| | | | | | | | | | | | | | | | * replace path with C++ implementation in FSTDocumentKey.{h,mm} only * address changes * address changes
* | Add 10 second timeout waiting for connection before client behaves as-if ↵Gravatar Michael Lehenbauer2018-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | offline. (#872) [Port of https://github.com/firebase/firebase-js-sdk/commit/0fa319e5e019dd0d40ab441d2ff9f8f6d4724e43] * Refactored FSTOnlineState tracking out of FSTRemoteStore and into new FSTOnlineStateTracker component. * Added a 10 second timeout to transition from OnlineState.Unknown to OnlineState.Offline rather than waiting indefinitely for the stream to succeed or fail. * Removed hack to run SpecTests using an FSTDispatchQueue that wrapped dispatch_get_main_queue(). This was incompatible with [FSTDispatchQueue runDelayedCallbacksUntil:] since it queues work and blocks waiting for it to complete. Now spec tests create / use a proper FSTDispatchQueue. * Added a SpecTest to verify OnlineState timeout behavior. * Misc cleanup: * Renamed FSTOnlineState states: Failed => Offline, Healthy => Online * Renamed FSTTimerIds (ListenStreamConnection => ListenStreamConnectionBackoff) * Added ability to run timers from spec tests.
* | add converters and port paths to FSTQuery (#869)Gravatar zxu2018-03-05
| | | | | | | | | | | | | | | | | | | | * add converters and fix FSTQuery.{h,m} only * address changes * a change forget to address * add a dummy function to make inline-only-library buildable
| * Fix the issue completion handler is not triggered in subscribeToTopic. (#867)Gravatar Chen Liang2018-03-01
| | | | | | | | | | * fix the issue that handler not get triggered
* | Serialize (and deserialize) string values (#864)Gravatar rsgowman2018-02-28
| |
* | Fix the issue completion handler is not triggered in subscribeToTopic. (#867)Gravatar Chen Liang2018-02-28
| | | | | | | | | | * fix the issue that handler not get triggered
| * Fix Firestore podspec overlay build (#866)Gravatar Paul Beusterien2018-02-28
| |
* | Add Code of Conduct from Google open source template (#861)Gravatar Paul Beusterien2018-02-27
| |
* | Add FieldValue.boolean_value() (#862)Gravatar rsgowman2018-02-27
| |
* | replacing Auth by C++ auth implementation (#802)Gravatar zxu2018-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lazy replacing FST(Firebase)CredentialsProvider by (Firebase)CredentialsProvider * lazy replacing FSTUser by User * adding error-code parameter to TokenListener * actually use const user& instead of pointer; also add an error util * add HashUser and pass into the unordered_map * use User in test * use c++ CredentialsProvider and subclass in test * fix unit test * use explicit capture in lambda instead of capture all by reference * cache currentUser explicitly when reset sync engineer test driver * objc object should be captured by value in lambda * replacing Auth/FSTUser by C++ auth implementation * address changes * replacing FSTGetTokenResult by C++ Token implementation * address changes * fix unintentional change in merging * patch the change in objc Auth up-stream * somehow, the lambda-version of set-user-change-listener does not work... fallback to block * address changes * fix another const& v.s. dispatch bug * fix more const& v.s. dispatch bug zxu123 committed * fix a bad sync line * address changes * address change * address change * fix upstream change from merge * fix upstream changes * Suggested fixes for cpp/port_auth (#846) * Get rid of MockDatastore factory This avoids the need to statically allocate (and leak) a credentials provider * Use absl::make_unique std::make_unique technically does not exist until C++14. * #include <utility> for std::move * Use std::future for the initial user * fix style
* | Eliminate TypedValue and serialize direct from FieldValue to bytes. (#860)Gravatar rsgowman2018-02-27
| | | | | | | | | | | | | | | | This will likely only apply for proto messages that use 'oneof's. (Because we need to serialize these manually.) The problem was that as we were adding additional types, TypeValue was evolving into a parallel implementation of the FieldValue union. When serializing/deserializing oneofs we need to supply a custom value to serialize and a custom function to do the work. There's no value in translating from FieldValue to TypeValue just to store as this custom object. We might as well just store the FieldValue model directly and write the custom serializer/deserializer to use the model directly.
* | Convert cmake build to (mostly) use urls rather than git clones (#852)Gravatar rsgowman2018-02-27
| | | | | | | | | | | | | | Exception: grpc. Due to it's use of git submodules, it's not completely trivial to convert it (though probably wouldn't be too much more work.) This helps address our build being throttled. (Maybe. This assumes github allows more fetching of tgz's than clones.) It should also speed up our build times. The downloaded tarballs are placed into ${PROJECT_BINARY_DIR}/downloads. This allows for eventual caching in travis.
| * Version bumps for Firebase 4.10.0 (#859)Gravatar Paul Beusterien2018-02-27
|/
* Update Core CHANGELOG for 4.0.16 (#858)Gravatar Paul Beusterien2018-02-27
|
* Update changelog for release (#857)Gravatar Zsika Phillip2018-02-27
| | | | | | * Updates changelog in preparation for release * Adds another change.
* Merge pull request #851 from firebase/bs-firebasecore-versionGravatar Benoit St-Pierre2018-02-26
|\ | | | | Report FirebaseCore version
| * Remove unnecessary nonnull annotationsGravatar Benoit St-Pierre2018-02-26
| |
| * Manually fix clang-format issuesGravatar Benoit St-Pierre2018-02-26
| |
* | Update CHANGELOG for Firestore v0.10.2 (#856)Gravatar Gil2018-02-26
| |
| * Add XCode and Apple SDK versionsGravatar Benoit St-Pierre2018-02-26
| |