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

notif: package info indirection #1143

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Abhisheksainii
Copy link

In this PR, I made the changes to indirect PackageInfo.fromPlatform through a method on ZulipBinding.

Steps I followed :

  1. Update the ZulipBinding to provide package info: Add a method in ZulipBinding to return the package name. This method will wrap the call to PackageInfo.fromPlatform() and make it test-friendly.

  2. Override the method in TestZulipBinding: In the TestZulipBinding, override getAppBundleId to return a mock or predefined value for testing.

  3. Refactor the code to use getAppBundleId: Replace the direct calls with the indirection from Zulip Binding class.

  4. Write a test for the above logic under a group called 'tokens'. The allow the grouping of all tests related to tokens, I created a separate group : tokens.

Fixes #407

@Abhisheksainii Abhisheksainii changed the title Fix/package info indirection notif: package info indirection Dec 12, 2024
@chrisbobbe
Copy link
Collaborator

Hi @Abhisheksainii, thanks for the PR. It will need to follow our Git style before it gets reviewed by a core team member.

@Abhisheksainii
Copy link
Author

Abhisheksainii commented Dec 13, 2024

@chrisbobbe changes made according to the git style.
Please check.

@Abhisheksainii Abhisheksainii force-pushed the fix/package-info-indirection branch from 75331d7 to 5970957 Compare December 13, 2024 16:13
Copy link
Member

@PIG208 PIG208 left a comment

Choose a reason for hiding this comment

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

Thanks for the PR @Abhisheksainii! Looks like there is a simplification to be made, because we already access and store packageInfo. It will probably require you to modify our copy of PackageInfo class by adding packageName to it.

lib/model/binding.dart Outdated Show resolved Hide resolved
lib/model/binding.dart Outdated Show resolved Hide resolved
lib/notifications/receive.dart Outdated Show resolved Hide resolved
@PIG208 PIG208 requested review from PIG208 and removed request for PIG208 December 17, 2024 23:32
@PIG208 PIG208 self-assigned this Dec 17, 2024
@PIG208 PIG208 added the maintainer review PR ready for review by Zulip maintainers label Dec 17, 2024
@Abhisheksainii
Copy link
Author

@PIG208 changes done as requested, kindly take a look at them.

@PIG208
Copy link
Member

PIG208 commented Dec 19, 2024

Thanks for the update. Please review the "commit style guide" referenced in the README and update your commits: https://github.com/zulip/zulip-flutter?tab=readme-ov-file#submitting-a-pull-request

Also, it looks like the CI is failing. Could you fix that?
Looks like the CI failure is not relevant to this PR.

@Abhisheksainii
Copy link
Author

Thanks for the update. Please review the "commit style guide" referenced in the README and update your commits: https://github.com/zulip/zulip-flutter?tab=readme-ov-file#submitting-a-pull-request

Also, it looks like the CI is failing. Could you fix that? Looks like the CI failure is not relevant to this PR.

@PIG208 I checked the commits and they pretty much explain what they do. Am I supposed to add some more description?

@gnprice
Copy link
Member

gnprice commented Dec 20, 2024

Please read the Zulip commit style guide, which is linked from the README where Zixuan pointed to.

@Abhisheksainii Abhisheksainii force-pushed the fix/package-info-indirection branch from c119c94 to 2cc9de6 Compare December 20, 2024 19:15
@Abhisheksainii
Copy link
Author

Abhisheksainii commented Dec 20, 2024

Thanks for the update. Please review the "commit style guide" referenced in the README and update your commits: https://github.com/zulip/zulip-flutter?tab=readme-ov-file#submitting-a-pull-request

Also, it looks like the CI is failing. Could you fix that? Looks like the CI failure is not relevant to this PR.

@PIG208 commits updated according to the style guide. Kindly review them
Thanks!

@Abhisheksainii Abhisheksainii force-pushed the fix/package-info-indirection branch 2 times, most recently from 3a87065 to ff11675 Compare December 21, 2024 06:19
@Abhisheksainii
Copy link
Author

@PIG208 kindly review the changes.

test/model/binding.dart Outdated Show resolved Hide resolved
lib/model/binding.dart Show resolved Hide resolved
test/notifications/receive_test.dart Show resolved Hide resolved
lib/notifications/receive.dart Outdated Show resolved Hide resolved
test/model/store_test.dart Outdated Show resolved Hide resolved
test/model/store_test.dart Outdated Show resolved Hide resolved
lib/notifications/receive.dart Show resolved Hide resolved
@PIG208
Copy link
Member

PIG208 commented Dec 23, 2024

Thanks for the update @Abhisheksainii! Left some comments.

@Abhisheksainii Abhisheksainii force-pushed the fix/package-info-indirection branch from ff11675 to 9849d78 Compare January 2, 2025 19:43
@Abhisheksainii
Copy link
Author

@PIG208 made changes as requested. Kindly review.

@PIG208 PIG208 self-requested a review January 9, 2025 09:07
Copy link
Member

@PIG208 PIG208 left a comment

Choose a reason for hiding this comment

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

Thanks for the update! Left some comments. In this PR's case, I think we should squash all commits into one, so that the implementation and the tests packed together for coherency.

test/notifications/receive_test.dart Outdated Show resolved Hide resolved
test/notifications/receive_test.dart Outdated Show resolved Hide resolved
test/model/binding.dart Outdated Show resolved Hide resolved
made packageName accessible from PackageInfo class. This helps in writing tests more efficiently
made packageName accessible to receive.dart file and test files via
(await ZulipBinding.instance.packageInfo)?.packageName ?? "com.zulip.flutter"
enabled test files and other modules to simulate packageInfo being null or set custom values via ZulipBinding.instance.packageInfo
removed non-fallback case for app bundleId as is already covered under store_test file
removed unnecessary helper function setPackageInfo
@Abhisheksainii Abhisheksainii force-pushed the fix/package-info-indirection branch from 9849d78 to 90a7774 Compare January 22, 2025 09:50
@Abhisheksainii
Copy link
Author

@PIG208 made changes as requested. Kindly review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintainer review PR ready for review by Zulip maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

notif: Use live value for app ID on registering APNs token
4 participants