aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Initial TreeSortedMap and SortedMap in C++ (#980)Gravatar Gil2018-03-29
| | | | | | | | | | * Prepare for TreeSortedMap * Factor out SortedMapBase * Move ArraySortedMap to impl * Factor out SortedMap testing utilities * Add a minimal TreeSortedMap * Add the public SortedMap type
* Merge pull request #985 from firebase/downlaodurldeprecationGravatar Sebastian Schmidt2018-03-28
|\ | | | | Deprecate StorageMetadata.downloadURLs
* \ Merge pull request #987 from firebase/klimt-fix-formatGravatar Bryan Klimt2018-03-28
|\ \ | | | | | | Fix some formatting issues.
* \ \ Merge pull request #984 from morganchen12/iid-proxyGravatar Morgan Chen2018-03-28
|\ \ \ | | | | | | | | Remove FIRMessagingInstanceIDProxy
| | * | Fix some formatting issues.Gravatar Bryan Klimt2018-03-27
| |/ / |/| |
| | * Clang formatGravatar Sebastian Schmidt2018-03-27
| | |
| | * Deprecate StorageMetadata.downloadURLsGravatar Sebastian Schmidt2018-03-27
| |/ |/|
* | Add ObjectValue::Map alias (#967)Gravatar rsgowman2018-03-27
| |
| * Remove FIRMessagingInstanceIDProxyGravatar Morgan Chen2018-03-27
|/
* port C++ DocumentKey to the rest of Firestore code (#977)Gravatar zxu2018-03-27
| | | | | | | | | | * port C++ DocumentKey to API's and Core's * address changes * address changes * fix Hash return types
* Only add nanopb proto headers to the -I path when depending on the nanopb ↵Gravatar rsgowman2018-03-27
| | | | | | protos. (#982) This is motivated by wanting to use libprotobuf in the project too, but it's also sensible by itself.
* C++ migration: make Timestamp class a part of public API (#944)Gravatar Konstantin Varlamov2018-03-27
| | | | | | | | | | | * move Timestamp from model/ to the root directory; * move Timestamp to top-level firebase namespace and update all references; * add conversions to and from native date types; * add a specialization of std::hash; * add comments to public member functions; * rename nanos -> nanoseconds; * add public headers, including Timestamp, to CMake; * increase test coverage.
* Add missing license file (#981)Gravatar rsgowman2018-03-26
|
* Merge pull request #979 from firebase/morganchen12-patch-1Gravatar Morgan Chen2018-03-26
|\ | | | | backtick-escape code block
* | Running a transaction (#969)Gravatar Greg Soltis2018-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Checkpoint before implementing BatchDescription * Style * Initial plumbing for leveldb local parts * Add model::BatchId * Port leveldb_key.{h,cc} * Add string StartsWith * Add leveldb_key_test.cc to the project * Revert back to using leveldb::Slice for read/describe These operations universally operate on keys obtained from leveldb so it's actually unhelpful to force all the callers to make absl::string_views from them. * Everything passing * Drop unused function * Style * STart work on reads * Swap reads in queryCache to use transactions * Fix up tests of querycache * Drop commented out code * Cleanup * Style * Fix up for passing tests * style * Renaming * Style * Start work on ToString for transactions * Add ToString() method to LevelDbTransaction * Style * lint * Fix includes, drop runTransaction * current_transaction -> currentTransaction * LevelDbTransaction::NewIterator now returns a unique_ptr * Style * Revert addition of util::StartsWith * Add log line * Style * Add log line * Style * Add debug log line for commits, drop unused BatchDescription * STart work on reads * Swap reads in queryCache to use transactions * Start on remote documents * Transition mutation queue and remote documents to use transactions * Style * Make everything pass * Make everything pass * Make it compile * Style * Style * Revert name change, use DefaultReadOptions() * Style * Example of running a transaction with a lambda * Drop errant typo * Drop duplicate method declarations * replace usage of auto w/ decltype * Drop an unnecessary _Nullable. Add some nullability warning suppression * use absl::make_unique, handle void return type * Style * Wrap backing persistence and expectation of backing persistence for transaction runner into a method * More comments, trigger CI
| * backtick-escape code blockGravatar Morgan Chen2018-03-26
|/
* Fix issue that could cause offline get()s to wait up to 10 seconds. (#978)Gravatar Michael Lehenbauer2018-03-26
| | | | | | | | | Port of https://github.com/firebase/firebase-js-sdk/pull/592 FSTOnlineStateTracker was reverting to OnlineState Unknown on every stream attempt rather than remaining Offline once the offline heuristic had been met (i.e. 2 stream failures or 10 seconds). This means that getDocument() requests made while offline could be delayed up to 10 seconds each time (or until the next backoff attempt failed).
* Switch LevelDB MutationQueue and RemoteDocumentCache to use transactions (#968)Gravatar Greg Soltis2018-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Checkpoint before implementing BatchDescription * Style * Initial plumbing for leveldb local parts * Add model::BatchId * Port leveldb_key.{h,cc} * Add string StartsWith * Add leveldb_key_test.cc to the project * Revert back to using leveldb::Slice for read/describe These operations universally operate on keys obtained from leveldb so it's actually unhelpful to force all the callers to make absl::string_views from them. * Everything passing * Drop unused function * Style * STart work on reads * Swap reads in queryCache to use transactions * Fix up tests of querycache * Drop commented out code * Cleanup * Style * Fix up for passing tests * style * Renaming * Style * Start work on ToString for transactions * Add ToString() method to LevelDbTransaction * Style * lint * Fix includes, drop runTransaction * current_transaction -> currentTransaction * LevelDbTransaction::NewIterator now returns a unique_ptr * Style * Revert addition of util::StartsWith * Add log line * Style * Add log line * Style * Add debug log line for commits, drop unused BatchDescription * STart work on reads * Swap reads in queryCache to use transactions * Start on remote documents * Transition mutation queue and remote documents to use transactions * Style * Make everything pass * Make everything pass * Make it compile * Style * Style * Revert name change, use DefaultReadOptions() * Style * Handle iterators returning bad statuses
* Improve macOS/tvOS installation instructions (#972)Gravatar Paul Beusterien2018-03-25
| | | | * And provide prescriptive source pod instructions
* Rewrite leveldb_key to use a Reader/Writer class (#960)Gravatar Gil2018-03-24
|
* port C++ `DocumentKey` to `Remote/*` (#965)Gravatar zxu2018-03-24
| | | | | | | | | | | | * port C++ DocumentKey to Remote's * port C++ DocumentKey to Remote's * address changes * address changes * address changes
* fix a typo (#970)Gravatar zxu2018-03-23
| | | fix a typo caused in the merge a2a109b (https://github.com/firebase/firebase-ios-sdk/commit/0ccfd6a3dc77fb733626bc8911b5925ad9475c2e)
* port C++ `DocumentKey` to `Local/*` (#963)Gravatar zxu2018-03-23
| | | | | | * port C++ DocumentKey to Local's * address changes
* nit to work with Jazzy doc style (#952)Gravatar Ibrahim Ulukaya2018-03-23
|
* Renames in serializer to reflect recent changes (#957)Gravatar rsgowman2018-03-23
| | | | | | | * Rename Writer::Encode* methods to Writer::Write* * Rename: s/stream/writer/ (approximately) but only where it applies to Writer (rather than pb_ostream_t).
* Switch FSTLevelDBQueryCache to use transactions (#942)Gravatar Greg Soltis2018-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Checkpoint before implementing BatchDescription * Style * Initial plumbing for leveldb local parts * Add model::BatchId * Port leveldb_key.{h,cc} * Add string StartsWith * Add leveldb_key_test.cc to the project * Revert back to using leveldb::Slice for read/describe These operations universally operate on keys obtained from leveldb so it's actually unhelpful to force all the callers to make absl::string_views from them. * Everything passing * Drop unused function * Style * STart work on reads * Swap reads in queryCache to use transactions * Fix up tests of querycache * Drop commented out code * Cleanup * Style * Fix up for passing tests * style * Renaming * Style * Start work on ToString for transactions * Add ToString() method to LevelDbTransaction * Style * lint * Fix includes, drop runTransaction * current_transaction -> currentTransaction * LevelDbTransaction::NewIterator now returns a unique_ptr * Style * Revert addition of util::StartsWith * Add log line * Style * Add log line * Style * Add debug log line for commits, drop unused BatchDescription * Fix an include, but mostly try to trigger a travis build
* fix style.sh (#966)Gravatar zxu2018-03-22
|
* Change write groups to use transactions (#912)Gravatar Greg Soltis2018-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Start switching writegroup over * Swap out write group tracking for transaction usage * Style * Checkpoint before implementing BatchDescription * Style * Everything passing * Drop unused function * Style * Renaming * Style * Add log line * Style * Add debug log line for commits, drop unused BatchDescription
* Delete legacy module map (#964)Gravatar Paul Beusterien2018-03-22
|
* Add `ToString()` to `LevelDbTransaction` (#946)Gravatar Greg Soltis2018-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial plumbing for leveldb local parts * Add model::BatchId * Port leveldb_key.{h,cc} * Add string StartsWith * Add leveldb_key_test.cc to the project * Revert back to using leveldb::Slice for read/describe These operations universally operate on keys obtained from leveldb so it's actually unhelpful to force all the callers to make absl::string_views from them. * Start work on ToString for transactions * Add ToString() method to LevelDbTransaction * Style * lint * Revert addition of util::StartsWith
* Port FSTLevelDBKey to C++ (#937)Gravatar Gil2018-03-21
|
* Fix for b/74749605: Cancel pending backoff operations when closing streams. ↵Gravatar Michael Lehenbauer2018-03-21
| | | | | (#958) Port of https://github.com/firebase/firebase-js-sdk/pull/564.
* Add file I/O usage to Core documentation. (#959)Gravatar Ryan Wilson2018-03-21
| | | | | | | | * Add file I/O usage to documentation. * Update defaultOptions message. * Fix grammatical error.
* Run Functions Unit Tests on travis (#954)Gravatar Paul Beusterien2018-03-21
|
* Change CredentialsProvider::TokenListener to use StatusOr<Token> (#945)Gravatar rsgowman2018-03-21
| | | | | | | | | | | | | * Change CredentialsProvider::TokenListener to use StatusOr Rather than a token plus error code/msg. * Eliminate the concept of an invalid Token Instead, we'll just use StatusOr<Token>. Note that unauthenticated tokens are handled as a special case; they're created via: Token::Unauthenticated() and are otherwise "valid", though attempting to retrieve the raw token on one of these tokens will cause an assertion failure.
* Fix FSTTimerID strings in spec tests to match constants used in web. (#953)Gravatar Michael Lehenbauer2018-03-20
|
* Merge pull request #950 from firebase/release-4.11.0Gravatar Paul Beusterien2018-03-20
|\ | | | | Release 4.11.0
| * Fix Functions copyrights (#951)Gravatar Paul Beusterien2018-03-20
| |
| * Run scripts/style.sh on Functions (#949)Gravatar Paul Beusterien2018-03-20
| |
| * Initial Firebase Functions (#948)Gravatar Paul Beusterien2018-03-20
| |
* | Add Status and StatusOr (#935)Gravatar rsgowman2018-03-19
| | | | | | | | * Pull in status files from tensorflow * Add missing dependency to immutable library
* | port `DocumentKey` to non-container types of `Model/*` (#930)Gravatar zxu2018-03-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 * add converter function between two DocumentKey implementations * add unit test * address changes * fix lint * using DocumentKey in model except for the container types `FSTDocumentDictionary`, `FSTDocumentKeySet`, and `FSTDocumentVersionDictionary` * change other place w.r.t. the use of `DocumentKey` in model * update parameter of test helpers from NSString to string_view * revert a temporary change used in debug * address changes
* | Adds exception for invalid parameter (#931)Gravatar Zsika Phillip2018-03-15
| | | | | | | | | | | | * Adds exception for invalid parameter * Account for differences between find and git output (#932)
* | Implements transactions for leveldb (#881)Gravatar Greg Soltis2018-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start work on leveldb transactions * Style * Working API. Not plumbed in yet * Move files into correct place * Wrangling file locations and associations * Tests pass * Add some comments * style * Fix copyright * Rewrite iterator internals to handle deletion-while-iterating. Also add tests for same * Switch to strings instead of slices * Style * More style fixes * Response to feedback before updating docs * Style * Add comment * Initialize version_ * Satisfy the linter * Fix style * snake_case * More snakes * LevelDBTransaction -> LevelDbTransaction
* | Move core/types.h to model to prevent a core -> local -> core dependency ↵Gravatar Gil2018-03-15
| | | | | | | | cycle (#929)
* | adding converters between DocumentKey (#900)Gravatar zxu2018-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 * add converter function between two DocumentKey implementations * add unit test * address changes * fix lint
* | 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.