* 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>
* Fixes the count file not being found
Calling the new GDTCORRootDirectory() function ensures that the directory needed is created before an attempt to write is made.
Fixes#5549
* Update CHANGELOG and versions
* Make mph-gdtsqlite run travis (#3861)
* Implement a SQLite helper (#4075)
* Add support for in-memory and other types of stores (#4158)
* Add support for in-memory and other types of stores
* Temporarily add -x to know what's causing check.sh to fail
* Remove -x
* DO NOT MERGE TO MASTER: Remove commit math from check.sh temporarily
* Initial implementation of GDTCORDatabase (#4180)
* Initial implementation of GDTCORDatabase
* Style
* Check result of running a statement
* Simplify init
Also support >1 :memory: db
* Write test docs and fix one tsan issue (#4211)
* wip moving storage to sqlite
* Revert "wip moving storage to sqlite"
This reverts commit ee1895f1bdd8fa437bfcb4a16d453eb419cbabc0.
* Address tsan issue and document tests
* Address implicit self retains
Don't know why these aren't surfaced locally, I have the warning on.
* Implement bulk sql execution (#4528)
* Change custom prioritization dictionary to bytes (#4534)
* Change custom prioritization dictionary to bytes
* Fix a missed change for customBytes
* Refactor GDT's storage to be an interface (#5022)
* Refactor GDT's storage to be an interface
- Events are now removed by eventID
- Events now generate an ID when they are alloc/inited
- Copying events also copies their eventID
- Event hashing takes into account the eventID
- A static method in GDTCOREvent creates event IDs as the concat of <session counter><event counter during session>
- Session counters are incremented and stored in user defaults at app start
- Storage instances register themselves with GDTCORRegistrar like prioritizers and uploaders
- Storage fakes are refactored to be registered with GDTCORRegistrar
- Added some missing docs and fixed some typos
* Remove an unintended change from assert macro
* Use a variable
* Additional docs and test fixes
* Move saving the counter value to a file
* Update docs
* Rename GDTCORStorage to GDTCORFlatFileStorage (#5079)
* Rename GDTCORStorage to GDTCORFlatFileStorage
* Fix the NSCoding keys
* Fixes to get building and unit tests passing
* Address lack of thread safety affecting lifecycle tests
* Style
* Transition customPrioritizationDict to customBytes
Adds a category on GDTCOREvent to make checking network connection info easier.
* Remove all sqlite and database stufff or the purposes of merging back to maste (#5330)
* Update .travis.yml
* Update versions for Release 6.18.0
* Forward declare class to fix linting. (#4935)
* Revert "Forward declare class to fix linting. (#4935)" (#4937)
This reverts commit 64bbf378bb509e20ba97af731971906f008301c9.
* Update versions for Release 6.15.0
* Update podspec dependencies for M62 (#4640)
* Cherry-picks for M62. (#4650)
* Include GoogleUtilities in the release manifest.
* Crashlytics fix header import ordering issue (#4649)
Co-authored-by: Sam Edson <samedson@google.com>
Co-authored-by: Ryan Wilson <wilsonryan@google.com>
* Send diagnostic data to the FLL backend instead of the CCT backend
* Handle FLL redirects and set the User-Agent
The podspec now surfaces the SDK version.
* Add unit tests for handling redirects
* Fix missing `runningInBackground` flags.
* Attempt at fixing background issues with GDT.
* Add missing deprecated implementation.
* Transfer extra call to background call.
* Style
* Further review comments.
* Fix testing.
* Refactored FLLIntegrationTest.
This does a few things - split the tests into a specific multithreaded
test and a recursive run without crashing.
It also adds a notification for the upload to post how many events were
uploaded. This should be a bit more reliable and helps the overall
validation during the "run without crashing" test.
* Removed extra log.
* Fix flag for Catalyst.
* Disable currently non-functional test.
* Further review comments.
* Migrate CCT tests to match FLL.
* Revert accidental partial change.
* Clarify comment for starting the background tasks.
* Review feedback, changelog additions and bug numbers.
* Update versions for Release 6.9.0
* Fix unbalanced background task creation in GDTCCTUploader (#3838) (#3839)
* Add Manifest
* dependency version update
* Cherry picks for 6.9.0 (#3871)
* fixed "expiclitlySet" typo. (#3853)
* Mark unused variables (#3854)
* Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)
* Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)
* Create a GDT test app for generating events
* Add monkey tests and support for tvOS and macOS in the test app app_spec
* Comment out tests for now
Needs >= cocoapods-1.8.0
* Remove unsupported property
* Update versions for Release 6.8.0
* RemoteConfig fix pod spec lint (#3715) (#3716)
* ABTesting: add protos to private headers.
* RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>
* ./scripts/style.sh
* Remote Config `pod spec lint` fixes (#3717) (#3718)
* Fix ExperimentPayload.pbobjc.h imports
* RemoteConfig tests: add missing headers to spec.
* Revert ExperimentPayload.pbobjc.h import for ABTesting sources.
* Add FDL to M55 (#3724)
* Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
* Add FDL to M55
* Fix accessing a destroyed object (#3721) (#3725)
This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).
Also:
* enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
* make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.
* Cherry pick GDT changes for 6.8.0 and increment versions (#3770)
* Release 6.8.0: cherry pick of #3764 and #3766 (#3772)
* Gate access to cached instances. (#3766)
* Gate access to cached instances.
This is causing an issue in #3728. Hopefully this will fix it, but no
repro is available yet to test. There's still an underlying race
condition where a `creationBlock` could be called twice for a component
that is supposed to cache the instance returned, but that should be
addressed in a follow up PR.
* Review feedback.
* Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)
* Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)
* Update FDL CHANGELOG (#3781)
* Issue number, not PR number (#3785)
* Implement CoreDiagnostics interop
For use by FirebaseCore.
Please pay special attention to the changes in FIRApp, I've replaced passing FIRApp in the notification with a data object that will eventually replace the same information that FIRDiagnostics extracted.
* Add CoreDiagnosticsInterop to the Example Podfile
* Style and xcodeproj updates
* Update Podfiles that dep on FirebaseCore
So that they also have a dep on FirebaseCoreDiagnosticsInterop
* ran pod deintegrate to remove unintended xcodeproj changes
* Fix Podfile paths
* Add FCD to if_changed and travis.yml
* Fix building with Firestore
* Style
* Whitespace
* Fix a changed internal API
* Make pod paths consistent
* Restore connectivity_monitor_noop.cc style
* Remove logging prior to [FIRApp configure]
Also remove sendLogsWithServiceName:version:
* style
* Remove nil checks from diagnostics data
* Put back some deleted symbols
* Restore the sendLogsWithServiceName:version: method, but as a no-op
* Restore the original version of sendLogs...
* Allow an unused parameter
* Remove obsolete nsnotificationcenter related stuff
* Whoops, missed the header change.
* Final changes to support FIRCoreDiagnostics
These changes are necessary because FIRCore has a hard dep on FIRCoreDiagnostics (FIRCD) and FIRCoreDiagnosticsInterop.
Components can't be used because FIRCD would need to have a hard dep on FIRCore to get access to FIRLibrary, FIRComponent, FIRComponentContainer, and FIRComponentCreationBlock and this would create a dep cycle. So, an extern has been put into the interop lib and the variable is implemented in the connector class inside of FIRCore, but it's unset. FIRCD actually sets that variable in +load, allowing use of FIRCD.
FIRCD can also be removed as a dependency with no ill effect by end users setting the environment variable DISABLE_FIREBASE_DIAGNOSTICS=1
* Add nanopb and project generation infrastructure
* Convert FIRCoreDiagnostics to canonical nanopb, and move to OSS.
* Remove custom build steps for CoreDiagnostics
* Addressing review comments
* Update versions, tags, and port the relevant unit tests for FIRCD
* Version and platform fixes
* Fix podspec expected tags
* A hack to solve a chicken-and-egg problem with pod lib linting.
* Heartbeat implementation
* FIRDiagnosticsDateFileStorageTests
* Fix tests for non-iOS platforms
* Heartbeat tests
* Fix initialization.
* Cleanup Installation ID.
* Fix testProtoPopulation.
* Merge conflict fix
* Typo fix.
* Remove FIRCore dep from FIRCD unit tests and move symbols to interop
* Run ./scripts/style.sh
* Typo
* #ifdef comment
* File license header.
* Import FIRDiagnosticsDateFileStorage.h using relative path.
* FIRDiagnostics -> FIRCoreDiagnostics
* Docs syntax
* Docs
* Docs typo
* Add shared variables to the interop lib
I know this goes against the convention, but it's actually the only way to resolve this very unique problem.
* Fix comment
* Style
* Removed lib version passing.
* Remove env checking for conditional deps
* Style
* Address whitespace issues
* Add copyright notice
* Add new deps to Podfiles
* Fix trailing space
* Some changes to fix working in an extension.
* Fix type in Podfile
* GDT: begin/end background task only for iOS and TVOS applications.
* Fix typo
* Style
* Stop sharing kFIRService strings across pods
* Travis test
* Change all TARGET_OS_TVOS macros to TARGET_OS_TV
TARGET_OS_TVOS doesn't exist.
Also macro out a UIApplication reference.
* style
* Update all Podfiles with deps on FIRCore
* Fix trailing whitespace
* Update Firestore cmake
* Fix FIAM build break (#3254)
* Additional cmake changes
* Fix linker issue with deprecated CoreDiagnostics (#3257)
* Adding more deps to cmake
* Fix linker error (#3266)
* Rerun only IAM tests
* whitespace
* No xcpretty or frameworks run
* Fix typo
* Revert "No xcpretty or frameworks run"
This reverts commit afc1abba37666dab20f8341ae3edd49043722972.
* Revert "whitespace"
This reverts commit fd06955a56fb634c304605117c14b52c80cb3056.
* Revert "Rerun only IAM tests"
This reverts commit 98ce07600fe6b79b4dbab9f37017d54069d0105a.
* Run travis on this branch
* Add support for expanding PODS_TARGET_SRCROOT in CMake (#3267)
* Fix a few things that should have been splatted but weren't
* Define PODS_TARGET_SRCROOT in CMake for compatibility with CocoaPods
* Compile pods we depend upon with looser settings
* Rename the nanopb dependency to match what CMake actually has
* Make #include <nanopb/pb.h> work
Remove the old way of #include <pb.h> once we change the Firestore
nanopb generator to match.
* Fix warnings that fail the build
* Remove typed enum and fix a comment.
* Fix an import
* Change a line so it's not altered by Copybara
* More changes to stop copybara from altering the wrong sources
* Remove trailing whitespace
* Fix copybara modifying python.
* Add additional field in firebasecore.proto (#3273)
* Remove the dependency on interop to populate a shared variable.
* style
* Create travis jobs for FirebaseCoreDiagnostics (#3245)
* Create travis jobs for FirebaseCoreDiagnostics
And update the pod lib lints for GDT.
Remove the mph-master branch before merging to master.
* Add support for FIRCD to if_changed.sh
* Adjust tests
* Unavailable init methods should not be nullable (#3276)
* Allow firestore api to work with Codable objects + ExplicitNull + Integration tests (#3261)
* Convinience api for codables
* Integration Tests
* ExplicitNull implementation
* Update to CocoaPods 1.7.3 (#3280)
* Import GULLoggerLevel.h via public framework header (#3277)
* Put the need to include Firestore/Source/Public in the podspec (#3288)
This removes the need to munge the pods project after the fact and makes
it so that customers can click through to our headers too.
* Ensure Storage initializer doesn't get called (#3294)
* FIROptions.appGroupID introduced (#3293)
* Use a consistent set of dependencies on all platforms (#3289)
* Use a consistent set of dependencies on all platforms
* pod install for uniform dependencies
* Store the coerced base value in the BaseMutation (#3292)
* In card message: set the text color on the body text view (#3286)
* In card message: set the text color on the body text view
* Fix bug where card messages in test app were showing up with two of the same buttons
* Revert change to text color
* [docs] add missing semicolon (#3305)
Add missing semicolon to code example
* Add explicit Foundation import. (#3309)
This is causing issues when building an XCFramework.
* Pass the correct compiler flag for CoreDiagnostics. (#3312)
* Pass the correct compiler flag for CoreDiagnostics.
When CoreDiagnostics is open sourced, we'll need to ensure that the
right compiler flag is passed. This doesn't add support for Carthage yet
but allows the frameworkbuilder to pass the flag for carthage as well.
An update to the zipbuilder to allow for carthage will follow shortly.
* Remove accidental change.
* Fix and rewrite sync_project.rb (#3296)
* Fix and rewrite sync_project.rb
Ever since we added multiple platforms, removing a file has been broken.
This fixes that issue.
Also, rewrite target synchronization to make more sense. Essentially now
there's one diff between the filesystem and the groups and then an
explicit diff is done between project files and target contents.
* Run sync_project.rb on post-install
* pod lib linting should output something every minute while running
* DEBUG: This commit should be reverted
* DEBUG: This commit should be reverted
* DEBUG: This commit should be reverted
* Remove mph-master from travis
* Fix constant name conflic between old and new diagnostics (#3329)
* Rename kFIRDiagnosticsHeartbeatDateFileName -> kFIRCoreDiagnosticsHeartbeatDateFileName to avoid conflicts with FIRDiagnostics.
* Travis: temporary add `mph-master` to run tests.
* Rempve mph-master again
* Fix imports in FIRCDConnector
* Fix another import
* Fix yet another import
* Attempt to read crashing test logs from disk
* Implement printing of failed/crashed test logs.
* Print only crashed tests, rmdir between runs
* Revert reading crashing log changes
* Write CHANGELOG for all new FIRCD associated libraries
* Change all GUL deps to >= 6.2
* Revert ZipBuilder changes and do some last bits of cleanup
* Remove an assertion and populate an error instead
* Support macOS and tvOS in GDT and GDTCCT
* Fix travis for multiple platforms
* Give constant-value initializers for the background identifier
* Make travis platform-agonistic for GDT
* Consolidate #ifdef because they're the same code
* Prefix the Library and Tests directories with GDT and GDTCCT
This is to prevent overzealous rules in common_import_transformations.bara.sky from changing the libs' imports incorrectly.
* Fix the check_whitespace exemption for GDTCCT
* Actually fix the whitespace check this time
* Fix actual trailing whitespace
* Move all headers to be in either Private/ or Public/
* Slightly simplify the directory layout of GDT
* Slightly simplify the GDT CCT support library file structure
* Set HEADER_SEARCH_PATH for test targets
* Set the header paths using a better mechanism
* Refactor headers to be project-relative
* Update whitespace exceptions list