refactor: badge arithmetic [5]#93
Open
eligutovsky wants to merge 52 commits intofeat/key-value-storage-migrationfrom
Open
refactor: badge arithmetic [5]#93eligutovsky wants to merge 52 commits intofeat/key-value-storage-migrationfrom
eligutovsky wants to merge 52 commits intofeat/key-value-storage-migrationfrom
Conversation
* Removed web to app banner * Updated changelog --------- Co-authored-by: Konstantin Antipochkin <konstantin_a@optimove.com>
Privacy manifests
Deeplink decode fix
# Conflicts: # OptimoveCore.podspec # OptimoveCore/Sources/Classes/Constants/SDKVersion.swift # OptimoveNotificationServiceExtension.podspec # OptimoveSDK.podspec
fix: flaky test
* Add pref center functionality * Update comment * Separate models into their own files * Initialise Preference Center as a separate instance * Replace var with let in struct * Remove getters * Add return to switch statement * Shuffle things around; expose Optimove.PreferenceCenter * Call it OptimovePreferenceCenter * Get closer to Android implementation * Add get config values func * Check customer + visitor id * Remove objc classes * Give preferenceCenterCredentials a default nil value, so it doesn't break existing apps * Add method for enabling preference center * Take care of delayed init * Do not initialize preference center if optimove creds are missing * Log errors * Use region instead of environment for region * Add coding keys, so we stay consistent with naming * Get config from Optimove, instead of storing it in pref center class * Take enum out of initializer, oops * Get into reviewable state * Use CustomStringConvertible protocol for enum * Add pref center docs link * Do not log error if preference center is not wanted (when building) * Update preferenceUpdate model name * Remove unused enum * Add new errorNotConfigured result type * Move channel into Preferences model * Show error when setting credentials for a feature that was not requested * Try to cover permutations of nullability * Allow setCredentials to be called with nil, nil, prefCenterCreds * Don't log error when delayed init and missing credentials * Remove logger.debug * Move public data structures under OptimovePC * Remove public keyword in ctor for topics and preferences * Address PR comments * Make isPreferenceCenterConfigured only look at the features; don't care about credentials * Bump versions * Add extra check for config being nil * Bring up to speed with Android * Bring close to original * Fix copy paste * Add an extra if statement to cover nil optimoveCredentials for delayed init * Clarify log * Make preference center behave like the other features when feature is requested but no credentials were provided * Make preference center behave like other features when it is not included in the feature set for delayed init, but credentials were provided * Remove iOS 13.0 requirement * Rename forgotten topics -> customerPreferences * Catch the cases where optimove credentials are empty - do not initialize pref center * Bring back Task and ios 13 * Remove client, only bring task * Remove redundant ios 13 requirements * Update major version to 6 * mention 2nd breaking change --------- Co-authored-by: Vladislav Voicehovich <vladislav_v@optimove.com>
…/notification-service-extension-2 # Conflicts: # CHANGELOG.md # OptimoveSDK/Sources/Classes/Optimobile/Optimobile+DeepLinking.swift
…/notification-service-extension-2 # Conflicts: # OptimoveSDK/Sources/Classes/Optimobile/Optimobile.swift
…/notification-service-extension-2 # Conflicts: # OptimoveSDK/Sources/Classes/DI/Assembly.swift # OptimoveSDK/Sources/Classes/Migration/MigrationWork.swift # OptimoveSDK/Sources/Classes/Migration/Version.swift # OptimoveSDK/Sources/Classes/Storage/OptimoveStorage.swift
|
👋 Hey @eligutovsky, ❗️ Work Item link check failed: There is no Work Item linked to this PR. 🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below: 🟢 Once added, the validation will automatically run again! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Description of Changes
Final step of refactoring Notification Service Extension.
Breaking Changes
Release Checklist
Prepare:
pod lib lintpassesBump versions in:
OptimoveCore.podspecOptimoveNotificationServiceExtension.podspecOptimoveSDK.podspecOptimoveCore/Sources/Classes/Constants/SDKVersion.swiftREADME.mdCHANGELOG.mdUpdate major version numbers in wiki (basic integration + push guides)
Integration tests
T&T Only
Mobile Only
Deferred Deep Links
Combined
Release:
pod trunk pushto publish to CocoaPodsPost Release:
Generated description
Below is a concise technical summary of the changes proposed in this PR:
Introduces a new Preference Center feature for managing user communication preferences and refactors the SDK's internal mechanisms, including push notification badge calculation, removal of user agent tracking, and simplification of deep linking, while also updating SDK versioning and privacy manifests.
OptimoveStorage, and updating SDK versioning and privacy manifests.Modified files (48)
Latest Contributors(2)
Modified files (5)
Latest Contributors(2)
Modified files (11)
Latest Contributors(2)