Skip to content
This repository has been archived by the owner on Jun 28, 2023. It is now read-only.

[MOBFND-134] Upgrade to version 4.0.5 #7

Merged
merged 105 commits into from
Sep 25, 2020

Conversation

kevinfarst-earnin
Copy link
Collaborator

@kevinfarst-earnin kevinfarst-earnin commented Sep 24, 2020

Jira Link

https://earnin.atlassian.net/browse/MOBFND-134

Implementation Details

  • Upgrade SDK to 4.0.5
  • Change NS_SWIFT_NAME in SEGReachability.h from Reachability to SEGReachability to avoid module name collision with ReachabilitySwift

Checklist

3rd party SDK PRs:

  • No code modifications were made as part of this PR, unless absolutely necessary (3rd party library usage changes, keys change etc.)
  • 3rd party library tracker spreadsheet has been updated [LINK]
  • Listed this PR in the appropriate section of the Release Tracker for the version it is taking effect. [LINK]
  • Communicated the change widely in #mobiledev-all

humblehacker and others added 30 commits July 15, 2019 22:06
Inspired by comments from @f2prateek, simplify the the `SEGScreenReporting` protocol to replace the name and properties fields with a single method (`seg_trackScreen`) that can be implemented when screen tracking for a specific view controller that needs a custom name, properties, or options.
adding “name” field to payload;updated nimble to version 7.3.4
* Add iOS Backgrounded Event.

* Bump Xcode CI version

* Bump pods

* Updated properties

* Simplified App Backgrounded call

* Fixed test since we dropped the param.

* Reverted xcode CI version number
…io#836)

* Prepare for release 3.7.0

* Updated cartfile.

* Updated version in SEGAnalytics.m

* Updated version in readme instructions.
… done so that tvOS targets could build without linker errors. (segmentio#842)
* Support SSL pinning

Client integrations can optionally pass in a NSURLSessionDelegate in the SEGAnalyticsConfiguration object.
If set, NSURLSessionDelegate callbacks are forwarded to the client code where SSL pinning checks can be implemented

* test httpSessionDelegate configuration
* Fix for LIB-1416 & Github segmentio#846

- Stops blindly passing dictionaries.
- Property dictionaries are checked for NSCoding conformance to ensure they can be serialized.
- Property dictionaries are deep copied so contents can’t change while the pipeline is in progress.
- Puts a try/catch arrangement as a temporary guard against crashes for serialization failures until the storage format can be changed.

* Fixed missing ;

* Added test for deepCopy/conformance additions.
)

* Converted file storage to JSON from plist.

* Updated string storage to account for JSON vs plist differences.

* update podfile lock.

* Remove some NSNull hacks.

* Updated tests to validate null values.
…mentio#856)

* Respond to changes regarding advertising ID.

* Removed unnecessary context.

* Remove extraneous NSNull handling causing tests to fail.

* Added weakify/strongify macros.

* Removed extraneous NSNull checking.

* Put locking around static context access.
…#861)

* Stops using UserDefaults for queue on tvOS and uses NSCachesDirectory

Changes storage to fileStorage and userDefaultsStorage. Utilizes userDefaults on tvOS for information such as anonymousID and configuration, but moves tvOS's queue into the NSCachesDirectory. The reasoning is that tvOS has a 1mb limit for UserDefaults and the queue can grow rapidly in size, leading to app crashes when saving more than 1mb of data to UserDefaults.

* Adds a constant for key. Seperate cache dir and appSupport dir functions. Removes unused init.

* Adds functionality to remove old UserDefaults queue on tvOS.

Updates migrated removal block to account for tvOS now that the queue is no longer in UserDefaults. Adds back in a #else and #endif that was accidently removed.

* Adds tvOS unit test target

* Adds new AnalyticsTestsTVOS scheme
* Updates pods to include all test pods for AnalyticsTestsTVOS
* Fixes unit test import for QuickTVOS

* Add tvOS options for make file

* Enabled code coverage on tvOS tests

* Fix up unit test warning

"result of expect is never nil"

* Adds test to ensure that UserDefaults SEGQueue is cleared on initialization for tvOS & iOS

* Adds test to ensure SEGQueue is empty when missing form file storage

* Reverts unnecessary import for QuickTVOS

* Adds test for FileStorage caches directory helper

* Fix up: Adds SwiftTryCatch pod to tvOS test target

* Fix up makefile to have correct build target for build-ios & build-tvos

* Fix up: updates xcodebuild destination to match devices found on circleci

* Break up ios and tvos build/test steps

* Circleci: Cache pods

* Fix up: tvOS test build

* Fix up spacing

* Fix up flaky unit test

Co-authored-by: Connor Ricks <connor.ricks@gmail.com>
* Fixing a crash from plist->json conversion where result is not actually a dictionary.

* Made code flow the same as non-conversion.

* Set compatibility to 10.0.

* Fixed issues around setting nil values even though they are expected.
…ation enablement (segmentio#863)

* Address Issue segmentio#851; Expect dictionary as well for for integration enablement.

* Fixed broken test.
segmentio#864)

* Disabled tvOS tests temporarily.

* Updated podfile lock.

* Fixed LIB-1698; Differences observed in how ios/android pass userId/anonId in traits.

* Another podfile lock update.

* Fixed test.

* Set swift version for tests.

* Reverted podfile lock changes due to incompatibilities.
* LIB-1656: Added nanosecond timestamps

* Actually use the timestamp we’re carrying around.

* In case the context is modified, preserve the timestamp.

* Bump timestamp nanosecond precision to 9.

* Only carry over the timestamp during a modify if there was one to begin with.

* Added experimental options to configuration.

* Added a second version of 8601 date creation.

* Respect experimental value now present in config.

* Added nanosecond time test.

Co-authored-by: Brandon Sneed <brandon.sneed@segment.com>
migs647 and others added 20 commits July 6, 2020 11:06
* Added initial full example app

* Added full example app with Swift Package Manager

Co-authored-by: Cody Garvin <cody.garvin@segment.com>
* Fixed issue with userId not being cleared properly in a reset.

* Removed SwiftTryCatch dependency

* Removed unnecessary bridging header item in tests.

* Updated to swift 5 syntax.

* Workaround for issue where UIBackgroundTaskIdentifier is diff types between Objc / Swift

* Removed unused code.

* Fixed issue w/ deadlock setting device token

* Fixed tests.

Co-authored-by: Brandon Sneed <brandon.sneed@segment.com>
* Added Catalyst compatibility

* Added MacOS support

* Updated example apps to use SPM

* Repaired example SPM dependencies

* Fixed makefile for carthage to handle iOS only
…-configuration

Deprecated configuration access and updated associated tests
Co-authored-by: Brandon Sneed <brandon.sneed@segment.com>
…Device

[LIBMOBILE-149] Fixed double device payload
…entio#937)

Co-authored-by: Brandon Sneed <brandon.sneed@segment.com>
@kamaldeep-earnin
Copy link

Conflicts

Copy link

@nabi-earnin nabi-earnin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this supposed to go to master?

@kevinfarst-earnin
Copy link
Collaborator Author

@kamaldeep-earnin @nabi-earnin yes, I'm only opening the PR to show the changes, I'll have to merge the updates manually into the master branch

@kevinfarst-earnin
Copy link
Collaborator Author

@kamaldeep-earnin @nabi-earnin conflicts resolved 👍

@kevinfarst-earnin kevinfarst-earnin merged commit c4c6275 into activehours:master Sep 25, 2020
@kevinfarst-earnin kevinfarst-earnin deleted the MOBFND-134 branch September 25, 2020 00:24
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.