-
Notifications
You must be signed in to change notification settings - Fork 989
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
Integrate Firebase for Android and iOS #21983
base: develop
Are you sure you want to change the base?
Conversation
Jenkins BuildsClick to see older builds (211)
|
e49478b
to
ca8441e
Compare
5307db3
to
be2a8c2
Compare
4453b01
to
f58e51a
Compare
fb74c25
to
6c73939
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First pass self-review comments 📑
I've attempted to review some the confusing portions of the code, but there are still places involving the logic that I have not commented yet. I'll return for another pass on these areas soon.
build-fdroid: ##@build Build release for F-Droid | ||
@scripts/google-free.sh | ||
@scripts/build-android.sh | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we're adding an additional script step for preparing an Android build for FDroid.
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
# Used by Clojure to condition code and Gradle to make dependencies optional | ||
sed -i -e '$aGOOGLE_FREE=1' .env.release | ||
|
||
# remove firebase (uses google dependencies) and google-services.json for the fdroid-build | ||
yarn remove @react-native-firebase/app | ||
yarn remove @react-native-firebase/messaging | ||
rm android/app/google-services.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we're defining a cleanup script for the FDroid builds that removes Firebase dependencies and related files before continuing with building Android app for FDroid.
9173de4
to
a13ab31
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@seanstrom, sorry for the long delay to review your PR. I can clearly see you put a lot of care into this PR 🌟 I did a first review pass, but haven't yet experimented with the branch.
I missed a few key unit tests to reason about the code. I think the low coverage rate will make the code fragile to future changes.
<string>fetch</string> | ||
</array> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I came across https://github.com/transistorsoft/react-native-background-fetch, which is much more actively developed compared to the lib we use react-native-background-timer
(may or may not be a good thing). I'm not sure if or how they overlap in terms of capabilities.
src/legacy/status_im/ui/screens/notifications_settings/events.cljs
Outdated
Show resolved
Hide resolved
src/legacy/status_im/ui/screens/notifications_settings/events.cljs
Outdated
Show resolved
Hide resolved
src/legacy/status_im/ui/screens/notifications_settings/views.cljs
Outdated
Show resolved
Hide resolved
"Request the remote token for the mobile platform. | ||
On iOS this will retrieve a APNS token, | ||
and on Android this will retrieve a FCM token." | ||
[options] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might've missed something in the PR, but I've seen many functions receiving and passing around an options
map, but functions like start-registration
and others ignore the parameter. Could you elaborate further on why we need for this parameter?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've sorta reserved the first argument to be a parameters map for these functions since I thought it'd be likely we would pass some flags or configuration at some point. Though atm, we currently don't really use it so it could be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving here for future reference: we agreed off-GH to keep the options
parameter and in case it proves to be unnecessary in the future we would try to remove the parameter.
dc17e6b
to
0286e04
Compare
…tions instead of local and remote
0cf7bf8
to
d89661a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for amazing work! From a code perspective, it looks solid to me. Let’s move forward and see it in action, and gather feedback from QA.
resolves #22090
resolves #22174
resolves #22096
related status-go pr: status-im/status-go#6446
Summary
Review notes
make clean
before rebuilding the app.Testing notes
Platforms
Areas that may be impacted
Functional
Steps to test
WIP
status: ready