* 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>
* Remove Protobuf dependency, add struct-ish class that mimics ABTExperimentPayload
* Remove a lot of the compiler errors, but not all of them. We need to figure out how RC serializes the NSData objects passed to FIRExperimentController in updateExperimentsWithServiceOrigin:
* Add ABTExperimentPayload class that replaces generated proto, refactor classes that depend on it
* Add unit testing class for ABTExperimentPayload
* Updates to ABTExperimentPayload API, tests for ABTConditionalUserPropertyTest, add tests for ABTExperimentPayload
* Update podspec to pull in testing resources
* Add utility class for parsing test files. Use it in ABTExperimentPayloadTests
* Fix FIRExperimentController tests
* Better documentation
* Run scripts/styles.sh
* Fix whitespace
* Remove protobuf imports
* Bump pod spec version for ABT SDK, depend on new ABT SDK in RC. Fix up RemoteConfigExperiment to use new ABTExperimentPayload object
* scripts/style.sh
* Update In-app messaging to use new ABTExperimentPayload class, which involves extending the ABTExperimentPayload initializer to accept different values for overflowPolicy and experimentStartTime
* Delete test payload
* Revert scripts/check_imports.swift
* Better initialization tags for ABTExperimentLite
* Update CHANGELOGs
* Remove private headers in podspec, use integerValue to parse integers
* Refactor ABTExperimentPayload header into Private headers. Fix integer types for millisecond metadata
* scripts/styles.sh
* Fix integer parsing
* Fix copyrights
* Fix CHANGELOG typo:
* Add private_header_files to public_header_files
* Try just using NSInteger for experimentStartTimeMillis
* Bump FIAM dependency on ABTesting
* Use long long for milli parameters (32-bit apps)
* Use longlong in test timestamps
* Don't cast to nsnumber in tests
* Use in64_t
* Fix Test Overflow
* Bump major version on ABT SDK
* Bump ABTesting version in Firebase.podspec
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
* Update versions for Release 6.23.0
* Add FIAM to release manifest (#5383)
* Don't leak upload packages or deadlock on lifecycle events (#5382) (#5384)
* Don't leak upload packages or deadlock on lifecycle events
GDTCORUploadPackages would call targetToStorage in -initWithTarget. When this method was running during app terminate, this would cause a deadlock because calling targetToStorage is re-entrant while GDTCORRegistrar is sending lifecycle events to all the instances it's tracking.
NSTimer's invalidate method is also called whenever a package is completed, retried, or expired, without regard to the presence of a package handler.
A unit test is added to ensure that GDTCORUploadPackage's are not leaked by a retain
TSAN caught no issues
* Don't mark GDTCORUploadPackage -init as unavailable
Co-authored-by: Michael Haney <mikehaney24@users.noreply.github.com>
* FIAM bump podspec version to 0.19.3 (#5386)
* M69: add FIS. (#5412)
* M69: add FIS.
* Bump FIS version to 1.2.0
Co-authored-by: Michael Haney <mikehaney24@users.noreply.github.com>
* Update versions for Release 6.21.0
* Libraries should save state if a completion block is requested (#5147) (#5148)
* Libraries should save state if a completion block is requested
Currently, the onComplete block of sendXEvent:onComplete: is invoked when the event bytes are written to disk. However, if the app crashes before a lifecycle event occurs (trigger GDTCORStorage to serialize to disk), that event if effectively lost because the metadata has all been lost. This change triggers the saving of state of GDTCORStorage and prioritizers (if they implement it) if an onComplete block has been given.
* Remove RC from M67 (#5157)
* Revert "Migrate from using IID SDK for Remote Config to the new FIS SDK (#5096)" (#5156) (#5159)
This reverts commit 887ff82494.
* Only delete events when package was successfully delivered (#5172) (#5173)
* Only delete events when package was successfully delivered
* Add unit test to check that retrying a package delivery doesn't delete an event file
Co-authored-by: Michael Haney <mikehaney24@users.noreply.github.com>
Co-authored-by: Maksym Malyhin <mmaksym@google.com>
* Depend on FIRInstallations instead of IID, load an installations object into FIRInAppMessagingPrivate.h
* Bootstrap FIRInAppMessaging.h with an instance of FIRInstallations
* Update FIRIAMClientInfoFetcher to use FIRInstallations method to grab FID and FIS Token
* Call new client info fetcher method
* Fix up tests
* Change nullability for FIRInstallations object, handle null case
* More verbose comments in FIRIAMClientInfoFetcher, call completion in case that FIS token is fetched, but FID fails
* Throw error and call completion if Firebase Installations object is not created
* Send FIS token with method fetch requests
* Add test class for FIRIAMClientInfoFetcher
* Refactor FIRIAMClientInfoFetcher to get a FIRInstallations object injected
* Add unit testing for fetchFirebaseInstallationDataWithProjectNumber: in FIRIAMClientInfoFetcher
* Streamline unit tests, add case for nil FirebaseInstallations, clean up comments that were left in
* Parse out experiment payload for experimental FIAMs and store it on FIRIAMMessageDefinition
* Fix bugs in parsing experimental payload
* Add nullable experiment payload to FIAM message definition. Add method in FIRExperimenmtController to validate running experiments and call this when new messages are fetched from FIAM backend
* Add and document new ABT methods, update FirebaseInAppMessaging.podspec to depend on ABT
* Clean up deprecated public message initializers, add experiment payload to private initializers
* Activate experiment for experimental messages upon impression
* Clean up activateExperiment API
* Add experimental payload to all message definition initializers
* Add unit test coverage for new ABT methods
* Add test coverage for parsing experimental messages
* Verify experiment payload gets passed to message superclass
* Scripts/style.sh
* Update Podfile for UI test app to include AB Testing SDK
* Add back deprecated initializers for now, these are needed for the test app
* Test for non-nil experiment payload
* Use mutable array directly, better memory usage
* Bump ABTesting podspec version, depend on new ABT in FIAM
* Remove mentions of FIREventOrigins.h
* Remove experiment payload from public API, hide it in private
* Scripts/style.sh
* Fix comment indentation, allow for FIAM to depend on minor version updates of ABTesting
* Move ABTExperimentPayload import to private header
* 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 64bbf378bb.
* Move display SDK source and resources into FIAM SDK
* Change files prefixed with FID to be prefixed FIRIAM
* Restructure example apps in firebase-ios-sdk directory
* Fix directory structure for FIAM
* Move proto files into base directory
* Fix up proto files
* Move unit test files to Firebase/InAppMessaging/Tests
* Move FIRIAMSDKModeManagerTests and require app host in podspec
* Move sample apps to tests folder
* Add empty repo for FIAMDisplay that generates a warning
* Fix up functional tests app
* Fix up default UI test app
* Re-generate protos
* Add warning to remove display pod
* Remove display podspec from .travis.yml
* Remove trailing whitespace
* Fix import in test app
* Add changes to point to the default test app
* Wrap iOS version conditionals
* Add line in podspec about deprecation
* Delete whitespace in podspec
* Delete pods section in project file
* Update changelog with consolidation info
* Fix indentation in podspecs
* Fix some import issues
* Fix indent on FirebaseInAppMessaging.podspec
* Delete FirebaseInAppMessagingDisplay, update podfile for external test app
* Update podfiles, bump iOS min version to 9, remove iOS 9 checks in FIRIAMActionUrlFollowerTests
* Add line in CHANGELOG referencing deletion of display sdk pod
* Remove unused podfile
* Update min version on Podfiles to iOS 9
* Add back FirebaseInAppMessagingDisplay.h
* Add iOS support message to CHANGELOG.md
* Wrap necessary deprecated iOS 9 call