Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor!: remove FCM dependency from cocoapods #210

Merged
merged 1 commit into from Nov 18, 2022

Conversation

levibostian
Copy link
Member

@levibostian levibostian commented Nov 4, 2022

Breaking change introduced:

  • Customers impacted: React Native customers using FCM. That's because if they follow our docs as they appear today, we do not tell customers to install Firebase dependencies on their own with cocoapods. So, by RN customers upgrading the iOS SDK to include this change, they will need to install the firebase SDK themselves.

Needs to be tested: done

  • Create new iOS app that uses cocoapods
  • Install this PR
  • Integrate FCM
  • Run app and see if receive a rich push

This PR fixes this customer reported issue. Our original action item was to update the Firebase dependency in our iOS SDK. However, after evaluation, I determined that our code doesn't not actually reference anything from Firebase at this time. Our SPM config files do not contain any Firebase dependency items at all. So, I removed the dependency to fix this customer issue.

Maybe the Firebase dependency was originally added for react native? If so, I assume that the react native can declare FCM as a dependency in itself instead of inheriting the FCM dependency from the CIO iOS SDK.

@ami-oss-ci
Copy link

ami-oss-ci commented Nov 4, 2022

Pull request title looks good 👍!

If this pull request gets merged, it will cause a new release of the software. Example: If this project's latest release version is 1.0.0. If this pull request gets merged in, the next release of this project will be 2.0.0. This pull request is a breaking change.

All merged pull requests will eventually get deployed. But some types of pull requests will trigger a deployment (such as features and bug fixes) while some pull requests will wait to get deployed until a later time.

To merge this pull request, add the label Ready to merge to this pull request and I'll merge it for you.

This project uses a special format for pull requests titles. Expand this section to learn more (expand by clicking the ᐅ symbol on the left side of this sentence)...

This project uses a special format for pull requests titles. Don't worry, it's easy!

This pull request title should be in this format:

<type>: short description of change being made

If your pull request introduces breaking changes to the code, use this format:

<type>!: short description of breaking change

where <type> is one of the following:

  • feat: - A feature is being added or modified by this pull request. Use this if you made any changes to any of the features of the project.

  • fix: - A bug is being fixed by this pull request. Use this if you made any fixes to bugs in the project.

  • docs: - This pull request is making documentation changes, only.

  • refactor: - A change was made that doesn't fix a bug or add a feature.

  • test: - Adds missing tests or fixes broken tests.

  • style: - Changes that do not effect the code (whitespace, linting, formatting, semi-colons, etc)

  • perf: - Changes improve performance of the code.

  • build: - Changes to the build system (maven, npm, gulp, etc)

  • ci: - Changes to the CI build system (Travis, GitHub Actions, Circle, etc)

  • chore: - Other changes to project that don't modify source code or test files.

  • revert: - Reverts a previous commit that was made.

Examples:

feat: edit profile photo
refactor!: remove deprecated v1 endpoints
build: update npm dependencies
style: run formatter 

Need more examples? Want to learn more about this format? Check out the official docs.

Note: If your pull request does multiple things such as adding a feature and makes changes to the CI server and fixes some bugs then you might want to consider splitting this pull request up into multiple smaller pull requests.

@levibostian levibostian changed the base branch from develop to main November 4, 2022 16:03
@levibostian
Copy link
Member Author

Blocked from merging until testing is done.

@levibostian levibostian self-assigned this Nov 4, 2022
@codecov
Copy link

codecov bot commented Nov 4, 2022

Codecov Report

Merging #210 (6e6611e) into main (d44c58a) will decrease coverage by 1.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #210      +/-   ##
==========================================
- Coverage   52.30%   51.09%   -1.22%     
==========================================
  Files         101      101              
  Lines        1172     1742     +570     
==========================================
+ Hits          613      890     +277     
- Misses        559      852     +293     
Impacted Files Coverage Δ
Sources/Common/Background Queue/QueueRunner.swift 66.66% <0.00%> (-13.34%) ⬇️
...es/MessagingPush/MessagingPushImplementation.swift 41.66% <0.00%> (-8.34%) ⬇️
...ngInApp/autogenerated/AutoMockable.generated.swift 67.74% <0.00%> (-4.49%) ⬇️
...PushAPN/autogenerated/AutoMockable.generated.swift 27.50% <0.00%> (-4.32%) ⬇️
...PushFCM/autogenerated/AutoMockable.generated.swift 27.50% <0.00%> (-4.32%) ⬇️
Sources/Common/Background Queue/Queue.swift 61.90% <0.00%> (-2.39%) ⬇️
Sources/MessagingPushAPN/MessagingPushAPN.swift 8.33% <0.00%> (-1.67%) ⬇️
Sources/MessagingPushFCM/MessagingPushFCM.swift 8.33% <0.00%> (-1.67%) ⬇️
Sources/Common/Util/Mocks.swift 100.00% <0.00%> (ø)
Sources/Common/Type/SDKWrapperConfig.swift 100.00% <0.00%> (ø)
... and 11 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@levibostian
Copy link
Member Author

Unblocked as I completed testing. I created a new iOS app > Installed this PR > Got a FCM token and sent the token to a profile in CIO.

@jatinn
Copy link

jatinn commented Nov 8, 2022

you mention the dependency may have been for react native so we should also test with a build of the ios react native app using fcm just to confirm

Copy link

@jatinn jatinn left a comment

Choose a reason for hiding this comment

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

change is straightforward but lets test with the react native/expo ios fcm test app to ensure no impact or to document the extra config steps that may be needed due to this pr being merged

@levibostian
Copy link
Member Author

Currently blocked while PR gets tested in Ami app to see if RN SDK is impacted by this change.

Learn more: https://customerio.slack.com/archives/C01QYDKD0SU/p1667939161080969

@levibostian levibostian changed the base branch from main to develop November 18, 2022 19:56
@levibostian levibostian changed the title fix: remove FCM dependency from cocoapods as not being used in code refactor!: remove FCM dependency from cocoapods Nov 18, 2022
@levibostian levibostian merged commit 3547076 into develop Nov 18, 2022
@levibostian levibostian deleted the levi/update-fcm branch November 18, 2022 19:59
@levibostian levibostian restored the levi/update-fcm branch November 18, 2022 19:59
@levibostian
Copy link
Member Author

Keeping branch available so workaround continues to work

ami-ci pushed a commit that referenced this pull request Nov 30, 2022
## [2.0.0-alpha.1](1.2.6...2.0.0-alpha.1) (2022-11-30)

### ⚠ BREAKING CHANGES

* make delivered push metric more reliable
* remove FCM dependency from cocoapods (#210)
* singleton API only way to use SDK now (#209)

### Bug Fixes

* fix compile time errors notification service extensions ([#214](#214)) ([bd5911b](bd5911b))
* make delivered push metric more reliable ([0478e52](0478e52))

### Code Refactoring

* remove FCM dependency from cocoapods ([#210](#210)) ([3547076](3547076))
* singleton API only way to use SDK now ([#209](#209)) ([72b7477](72b7477))
@ami-ci
Copy link
Contributor

ami-ci commented Nov 30, 2022

🎉 This PR is included in version 2.0.0-alpha.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this pull request Dec 9, 2022
## [2.0.0-beta.1](1.2.7...2.0.0-beta.1) (2022-12-09)

### ⚠ BREAKING CHANGES

* make delivered push metric more reliable
* remove FCM dependency from cocoapods (#210)
* singleton API only way to use SDK now (#209)

### Bug Fixes

* add sdkwrapperconfig to rich push SDK config ([#226](#226)) ([e43b4cf](e43b4cf))
* do not modify custom attributes casing ([#234](#234)) ([8160fdf](8160fdf))
* fix compile time errors notification service extensions ([#214](#214)) ([bd5911b](bd5911b))
* make delivered push metric more reliable ([0478e52](0478e52))
* sdk not able to compile in ios app ([#225](#225)) ([e4d1b3f](e4d1b3f))

### Code Refactoring

* remove FCM dependency from cocoapods ([#210](#210)) ([3547076](3547076))
* singleton API only way to use SDK now ([#209](#209)) ([72b7477](72b7477))
github-actions bot pushed a commit that referenced this pull request Dec 13, 2022
## [2.0.0](1.2.7...2.0.0) (2022-12-13)

### ⚠ BREAKING CHANGES

* make delivered push metric more reliable
* remove FCM dependency from cocoapods (#210)
* singleton API only way to use SDK now (#209)

### Bug Fixes

* add sdkwrapperconfig to rich push SDK config ([#226](#226)) ([e43b4cf](e43b4cf))
* do not modify custom attributes casing ([#234](#234)) ([8160fdf](8160fdf))
* fix compile time errors notification service extensions ([#214](#214)) ([bd5911b](bd5911b))
* make delivered push metric more reliable ([0478e52](0478e52))
* sdk not able to compile in ios app ([#225](#225)) ([e4d1b3f](e4d1b3f))

### Code Refactoring

* remove FCM dependency from cocoapods ([#210](#210)) ([3547076](3547076))
* singleton API only way to use SDK now ([#209](#209)) ([72b7477](72b7477))
@levibostian levibostian deleted the levi/update-fcm branch February 7, 2023 20:06
github-actions bot pushed a commit to nagyist/customerio-ios that referenced this pull request Feb 23, 2023
## [2.0.0](1.2.4...2.0.0) (2023-02-23)

### ⚠ BREAKING CHANGES

* make delivered push metric more reliable
* remove FCM dependency from cocoapods (customerio#210)
* singleton API only way to use SDK now (customerio#209)

### Features

* add in-app event listener ([customerio#211](https://github.com/nagyist/customerio-ios/issues/211)) ([737d43b](737d43b))
* in-app feature no longer requires orgId ([customerio#252](https://github.com/nagyist/customerio-ios/issues/252)) ([acd12da](acd12da))

### Bug Fixes

* access modifier for metric ([customerio#263](https://github.com/nagyist/customerio-ios/issues/263)) ([e641982](e641982))
* add sdkwrapperconfig to rich push SDK config ([customerio#226](https://github.com/nagyist/customerio-ios/issues/226)) ([e43b4cf](e43b4cf))
* added reusable code for wrapper SDKs ([customerio#247](https://github.com/nagyist/customerio-ios/issues/247)) ([36adf15](36adf15))
* async running BQ operations in loop ([customerio#250](https://github.com/nagyist/customerio-ios/issues/250)) ([f0a3d9c](f0a3d9c))
* device attributes shows sdk version instead of wrapper version ([e2462b9](e2462b9))
* do not modify custom attributes casing ([customerio#234](https://github.com/nagyist/customerio-ios/issues/234)) ([8160fdf](8160fdf))
* download rich push images from CDN ([customerio#237](https://github.com/nagyist/customerio-ios/issues/237)) ([b30cf02](b30cf02))
* fix compile time errors notification service extensions ([customerio#214](https://github.com/nagyist/customerio-ios/issues/214)) ([bd5911b](bd5911b))
* fix compile time errors notification service extensions ([customerio#216](https://github.com/nagyist/customerio-ios/issues/216)) ([6e8484a](6e8484a))
* in-app missing event ([customerio#259](https://github.com/nagyist/customerio-ios/issues/259)) ([43b3e97](43b3e97))
* make delivered push metric more reliable ([0478e52](0478e52))
* modify in-app event listener action parameters to new name ([customerio#255](https://github.com/nagyist/customerio-ios/issues/255)) ([b46528a](b46528a))
* prevent stackoverflow while executing background queue with lots of tasks in it ([customerio#245](https://github.com/nagyist/customerio-ios/issues/245)) ([ef0c428](ef0c428))
* push images and processing simple push ([customerio#230](https://github.com/nagyist/customerio-ios/issues/230)) ([f109f04](f109f04))
* region visibility modifier to be used by wrappers ([customerio#260](https://github.com/nagyist/customerio-ios/issues/260)) ([f0edfbc](f0edfbc))
* revert 2.0.2 as it was found unstable ([customerio#249](https://github.com/nagyist/customerio-ios/issues/249)) ([51b5831](51b5831))
* sdk not able to compile in ios app ([customerio#225](https://github.com/nagyist/customerio-ios/issues/225)) ([e4d1b3f](e4d1b3f))
* universal links deep links open host app ([customerio#268](https://github.com/nagyist/customerio-ios/issues/268)) ([29c95b5](29c95b5))
* universal links when touch a push notification open host app ([customerio#265](https://github.com/nagyist/customerio-ios/issues/265)) ([7dcaf73](7dcaf73))
* update the gist version in podspec ([customerio#256](https://github.com/nagyist/customerio-ios/issues/256)) ([5451488](5451488))

### Code Refactoring

* remove FCM dependency from cocoapods ([customerio#210](https://github.com/nagyist/customerio-ios/issues/210)) ([3547076](3547076))
* singleton API only way to use SDK now ([customerio#209](https://github.com/nagyist/customerio-ios/issues/209)) ([72b7477](72b7477))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Could you please update FirebaseMessaging and FirebaseCore dependency to the latest version?
4 participants