* Remove `--use-libraries` workflows
* [Will Revert] Run only the cron workflows
* Add ENABLE_TESTING_SEARCH_PATHS flag
* Add blank swift file to statically link Swift lib
* Link in swift for ABTesting, Crashlytics, and FIS test specs
* [skip ci] Revert "Link in swift for ABTesting, Crashlytics, and FIS test specs"
This reverts commit 95e4a492a8.
* [skip ci] Revert "Add blank swift file to statically link Swift lib"
This reverts commit 43555ecf88.
* [skip ci] Revert "Add ENABLE_TESTING_SEARCH_PATHS flag"
This reverts commit e551fbee1a.
* Bump macOS test version in ABTesting, CSH, and FIS specs
* Ignore warings in FIS tests
* Ignore messaging warnings in cron jobs
* [skip ci] Revert "[Will Revert] Run only the cron workflows"
This reverts commit b39eaee5bd.
* [skip ci] Revert "Ignore messaging warnings in cron jobs"
This reverts commit 8a3faabe99.
* Add `@unknown default` case for FCM's Swift enum build tests
* [skip ci] Fix typo
* Update versions for Release 7.9.0
* Fix pod lib lint for watchOS + add CI test (#7740)
* Fix pod lib lint for watchOS
* Add watchOS build test.
* Code review feedback
* Typo and formatting
* Typo and formatting
* fix typo
* Add missing test util files to tests targets
Co-authored-by: Maksym Malyhin <mmaksym@google.com>
* Resolve new SPM package install warning (#7741)
Co-authored-by: Ryan Wilson <wilsonryan@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>
* 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.10.0
* Cherrypick #3983 and include Database in release. (#3986)
* Remove log argument that causes SocketRocket crash (#3983)
* Add FirebaseDatabase to release.
* Update CHANGELOG with version.
* Cherrypick for #3984 along with CHANGELOG update. (#3988)
* Fix race condition in FIRComponentContainer instance creation (#3984)
* Fix race condition in FIRComponentContainer instance creation
Reported in #3967. Users sometimes seeing a crash when multiple threads
concurrently try to create Firestore instances. By inspection I found
that there's a race here where two threads can check for presence in the
cache, see nothing, proceed to creation, both store a value in the cache,
and both return their copies. This would lead to two Firestores being
created for a single App.
This replaces `dispatch_sync` on a serial queue with good old
`@synchronized` blocks. `dispatch_sync` will self-deadlock if called
from a thread already on the queue while `@synchronized` allows
recursion.
No new tests are added because several tests like
`testDependencyDoesntBlock` already cover this case.
* format
* Update Core CHANGELOG
* Update Core CHANGELOG again
* Fix merge from CHANGELOG
* 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)