Commit Graph
80 Commits
Author SHA1 Message Date
rsgowman 020eb60193 Simplify Serializer [En|De]code*() methods to no longer [de]serialize… (#2013)
Now, we use the re-worked nanopb deserializer (that mallocs). This also
had the advantage of moving the C++ serialization code closer to the
other platforms.

Still TODO:
- Reorder the methods within the files to resemble the other platforms.
2019-01-07 17:18:13 -05:00
Benoit St-Pierre dd9c760c07 Release 5.15.0 (#2195)
* Update versions for Release 5.15.0

* Create 5.15.0.json

* Update CHANGELOG for Firestore v0.16.1 (#2164)

* Update the name of certificates bundle (#2171)

To accommodate for release 5.14.0.

* Fix format string in FSTRemoteStore error logging (#2172)

* Update CHANGELOG.md

* Update 5.15.0.json
2018-12-17 19:57:13 -05:00
Ryan Wilson 3cd4e9c71f Update versions for Release 5.14.0 (#2145) 2018-12-05 07:56:36 -05:00
Konstantin Varlamov 16af0f13d7 Prefer roots.pem from gRPC-C++, but fall back to Firestore bundled ones if necessary (#2106)
gRPC-C++ versions up to and including 0.0.3, and also 0.0.5, don't bundle `roots.pem` in the podspec. gRPC-C++ 0.0.4 and, presumably, the currently not-yet-released 0.0.6 do. Firestore currently also bundles this file under the same bundle name, which leads to build errors when both Firestore and gRPC-C++ try to add the file into the build (only shows during archiving).

For transition, this PR:
* renames the Firestore bundle to avoid naming clash;
* changes the loading code so that it first tries to load certificates bundled with gRPC-C++ (versions 0.0.4 and 0.0.6+), but falls back to those bundled with Firestore if necessary.

At a later point, Firestore should be changed to not bundle the certificates altogether.
2018-11-22 16:10:55 -05:00
Konstantin Varlamov 1a28f17c50 Pin gRPC-C++ version to exactly 0.0.5 (#2105)
While gRPC-C++ is in its 0.* versions, any new version could potentially contain breaking changes. Make sure we only upgrade at our own pace.
2018-11-21 15:19:39 -05:00
davidair 20a0bda002 Release 5.13.0 (#2101)
* Update versions for Release 5.13.0

* Revert premature api changes (#2097)

* Revert "Add warning for deprecated API to indicate that the passed in domain name's scheme will deduced as https (#2078)"

This reverts commit ceb839293e.

* Revert "Allow setting the domainURIPrefix for custom domain names/paths when creating dynamic links (#2071)"

This reverts commit d917bac047.

* Revert "Minor edits: change domain names in test app plist, fix warnings."

This reverts commit 15f5d46807.

* Revert "Fix style. Run ./scripts/style.sh"

This reverts commit 0e16e6c863.

* Revert "Allow for custom domains in the FDL iOS SDK"

This reverts commit 5e33153f70.

* Version is still 3.2.0
2018-11-20 17:23:55 -05:00
Konstantin Varlamov 8b1efabd82 gRPC: replace Objective-C implementation with the new C++ implementation (#2068)
* Revert "Revert "gRPC: replace Objective-C implementation with the new C++ implementation (#1968)" (#2030)"

This reverts commit ea567dca47.

* gRPC: fix bugs found during testing (#2039)

All in `GrpcStream`:
* make sure there are no pending completions when "finish" operation is enqueued;
* always finish gRPC calls;
* when connectivity changes, reset not just the calls, but the underlying channel as well.

* Revert "Partially revert "Update CHANGELOG for Firestore v0.14.0 (#2025)" (#2031)"

This reverts commit b2437b80f6.

* Update changelog for v0.15.0.

* gRPC: add gRPC wrapper classes to CMake build (#2015)

* add a C++ equivalent of `FIRFirestoreVersionString`. This eliminates the only Objective-C dependency of `grpc_connection.mm` and allows making it a pure C++ file;
* open-source `binary_to_array.py` script and use it in the build to embed `roots.pem` certificate file from gRPC into the Firestore binary. The embedded char array is then used to load certificate at runtime.

* Revert local change -- do not enable sanitizers by default
2018-11-13 11:51:06 -08:00
Gil f250f50c53 Update abseil to master@{2018-11-06} (#2058)
* Update abseil-cpp to a new upstream

Update to 7990fd459e9339467814ddb95000c87cb1e4d945 master@{2018-11-06}

* Re-apply -Wcomma fix

* Update add_subdirectory for Abseil

* Remove references to Firestore/Port (which longer exists)

* Fix ABSL_HAVE_THREAD_LOCAL when targeting iOS 8 in Xcode 10

* Clean up abseil warnings

* Clean up a Firestore format string warning.

* Exclude third_party/abseil-cpp from whitespace checks
2018-11-09 10:27:31 -08:00
Paul Beusterien e77ba8c776 Release 5.12.0 (#2051)
* Update versions for Release 5.12.0
* Add missing nanopb flag
* Isolate Firestore nanopb messages in C++ namespaces (#2046)
* Add C++ namespaces and use C++ linkage for nanopb-generated sources.
* Regenerate nanopb sources as C++
* Add generated C++ nanopb sources to the podspec
2018-11-06 13:26:50 -08:00
Gil 7e5befc303 Isolate Firestore nanopb messages in C++ namespaces (#2046)
* Add C++ namespaces and use C++ linkage for nanopb-generated sources.
* Regenerate nanopb sources as C++
* Add generated C++ nanopb sources to the podspec
2018-11-05 05:50:53 -08:00
Paul Beusterien 5026453d76 Add missing nanopb flag (#2042) 2018-11-02 12:11:35 -07:00
Gil ea567dca47 Revert "gRPC: replace Objective-C implementation with the new C++ implementation (#1968)" (#2030)
This reverts commit a514bd957a.
2018-11-01 08:37:32 -07:00
Konstantin Varlamov a514bd957a gRPC: replace Objective-C implementation with the new C++ implementation (#1968)
* add support for SSL disabled to `GrpcConnection` (unfortunately, there
  currently is no way to verify this change actually works);
* make gRPC calls using the C++ implementation:
* make `FSTRemoteStore` create C++ streams instead of their Objective-C
  counterparts;
* port https://github.com/firebase/firebase-js-sdk/pull/1041: streams
  are now never recreated, only restarted;
* make `FSTDatastore` delegate server calls to the C++ implementation;
* port `MockWatchStream` and `MockWriteStream` to C++ (`FSTMockDatastore` is
  still in place, because `Datastore` is not fully ported yet);
* no longer generate Objective-C gRPC service definitions from protos;
* remove all references to Objective-C gRPC client;
* check in gRPC root certificates file and load it at runtime (the check-in part
  is temporary until gRPC-C++.podspec provides the certificate). This makes SSL
  work.
2018-10-25 20:13:03 -04:00
Gil 7d5add30ed Force Firestore to conform to C99 and C++11. (#2001)
Note that c++0x is how Xcode spells c++11.

Also fix an issue where we were accidentally using a C++14 feature.
2018-10-25 10:59:42 -07:00
Ryan Wilson ec748a5265 Merge branch 'master' into release-5.11.0 2018-10-24 14:26:35 -04:00
Paul Beusterien 420dfc257b Comply with c99 standard (#1992)
* Trigger travis for Firestore podspec changes
2018-10-24 11:04:00 -07:00
Ryan Wilson 9fe54ed34b Update versions for Release 5.11.0 2018-10-17 11:25:40 -04:00
David Airapetyan ec18195e9e Update versions for Release 5.10.0 2018-10-03 14:22:54 -04:00
Konstantin Varlamov 4e067e55dd gRPC: use SCNetworkReachability to quickly end connections when reachability changes (#1843)
The reachability state is not (yet) used to determine whether it's possible to reconnect; rather, the its only use is to quickly end any existing connections. The benefit is potentially quicker reaction to network being disconnected than it would take for the connection to time out.
2018-10-01 15:27:11 -04:00
Greg Soltis b11aab6441 Enforce field initialization order (#1873)
Add -Wreorder flag, make it an error, and fix the errors

This is enforced via CI in some cases, so make it enforced in all of Firestore.
2018-09-26 10:45:57 -07:00
Ryan Wilson 97803bed2d Fix Core version requirement. (#1871)
These pods depend on FirebaseCore's interop APIs that were introduced
in FirebaseCore version 5.1. This wasn't picked up before since
CocoaPods automatically matched the largest minor version available but
the podspec should accurately represent the version requirements.
2018-09-26 08:31:58 -07:00
Paul Beusterien 1b110eba26 podspec fixes 2018-09-19 15:55:54 -07:00
Paul Beusterien 1e8fc1ac13 Update versions for Release 5.8.0 2018-09-05 13:21:46 -04:00
Paul Beusterien 4f6e4fc092 Update Firestore's leveldb-library dependency version (#1762) 2018-08-29 10:39:13 -07:00
Paul Beusterien 23fe7c6df3 Merge pull request #1756 from firebase/release-5.7.0
Release 5.7.0
2018-08-28 17:12:23 -07:00
Konstantin Varlamov 27e692d5ad GRPC: add BufferedWriter to help issuing GRPC writes one by one (#1684)
Add a dependency on GRPC to XCode build, and add a simple helper class that is intended to help GrpcStream (forthcoming) to avoid issuing several write operations in a row (which would crash GRPC due to a failed assertion).
2018-08-23 15:37:37 -04:00
bstpierr d22bb2a1f7 Update versions for Release 5.7.0 2018-08-22 13:32:03 -04:00
Paul Beusterien 270b1cd4fa Merge pull request #1695 from firebase/release-5.6.0
Update versions for Release 5.6.0
2018-08-15 13:51:01 -07:00
Gil 1843a0efbf Add POSIX and Windows Filesystems (#1634)
* Add a POSIX filesystem implementation

* Add a Win32 filesystem implementation

* Reimplement RecursivelyDelete with IsDirectory returning Status

* Remove the Apple-specific filesystem

Making this consistent with POSIX and Win32 is gratuitously difficult
and just not worth it, when the POSIX code runs perfectly well on Apple
platforms.
2018-08-14 13:30:52 -07:00
Kyle Ju 55075c0007 Update versions for Release 5.6.0 2018-08-08 14:43:59 -04:00
Ryan Wilson 082db6568f Revert version bump from #1657 (#1658)
Merging before Travis is done since things are in a bad state.
2018-08-08 14:39:55 -04:00
Kyle Ju a67dac15af Update versions for Release 5.6.0 2018-08-08 12:39:17 -04:00
Ryan Wilson ef81fc2c93 Update versions for Release 5.5.0 2018-07-26 14:28:17 -04:00
Ryan Wilson 7c56bb7c03 Move Firestore to Auth interop library. (#1525)
* Move Firestore to Auth interop library.

* Fixed TODO with no name.

* Extract interop into separate class.

* Further Firestore interop changes.

* Move auth instance to constructor of CredentialsProvider.

* Resolved travis failures.

* Create separate queue for FIRApp instances, remove dead test code.

* Add missing <string> import.
2018-07-25 13:19:53 -04:00
Marek Gilbert ed5da58a17 Merge remote-tracking branch 'origin/release-5.4.1' into merge-5.4.1 2018-07-20 09:57:46 -07:00
Paul Beusterien acba81fcb0 Update versions for Release 5.4.1 2018-07-19 07:02:11 -07:00
Gil 99092b2d95 Prevent the comment in the prepare_command from interfering (#1554)
Under recent cocoapods I've seen this cause the sed command to be
commented out.
2018-07-18 14:00:33 -07:00
Paul Beusterien ac3654572e Update versions for Release 5.4.0 2018-06-27 07:57:56 -07:00
Paul Beusterien ab06ec466a Merge and resolve conflicts from release-5.3.0 2018-06-20 13:37:28 -07:00
Marek Gilbert 9e5c36b022 Remove PB_FIELD_16BIT 2018-06-15 16:08:56 -07:00
Marek Gilbert 0b77f5a68f Move -D flags into GCC_PREPROCESSOR_DEFINITIONS 2018-06-15 16:07:58 -07:00
Marek Gilbert 892288d523 Add an explicit dependency on nanopb 2018-06-15 15:06:39 -07:00
Paul Beusterien 1cbf3b65aa Version updates for Firebase 5.3.0 (#1406) 2018-06-13 07:36:54 -07:00
Rich Gowman 86cdae83a0 Merge remote-tracking branch 'origin/master' into rsgowman/protobuf_cpp 2018-06-12 10:50:07 -04:00
Rich Gowman cf2899a085 Merge remote-tracking branch 'origin/master' into rsgowman/protobuf_cpp
Also "fixed" BadFieldValueTagWithOtherValidTagsPresent test by changing
'false' to 'true'. Details: Depending on the version of nanopb, nanopb
would explicitly encode 'false', which shouldn't be done in proto3. When
it's explicitly encoded, the test worked properly. But when it was
(properly) dropped, the invalid tag is the only field that's actually
encoded, thus violating the assumptions of the test, leading to a test
failure. s/false/true fixes it, as now the boolean_value field is
(properly) encoded regardless of version.
2018-06-12 10:27:17 -04:00
davidair 3973b6499a Merge branch 'release-5.2.0' into master 2018-06-06 17:29:10 -04:00
Paul Beusterien 77227f58a0 Consistent specification of preprocessor options in podspecs to work with the CocoaPods packager (#1378) 2018-06-05 07:51:07 -07:00
davidair 4713ddf8df Version updates for 5.2.0 (#1355) 2018-05-30 11:53:51 -04:00
Rich Gowman 2d071ec260 Hookup serializer_test.cc to the xcode based test suite
This involves:
- building c++ libprotobuf (rather than just the obj-c version).
- adding c++ libprotobuf, c++ built protos (previously created) to the
  *test suite* only (not to the main build).
- modifying existing nanopb CFLAGS to match those that are indirectly
  pulled in.
2018-05-28 15:22:47 -04:00
Ryan Wilson 21c17dd188 Bump version numbers for 5.1.0 (#1320)
* Bump version numbers for 5.1.0

* Update push pods script for releasing SDKs.

* Fix Core library version string.
2018-05-23 10:31:30 -04:00