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

Integrate Firebase for Android and iOS #21983

Open
wants to merge 57 commits into
base: develop
Choose a base branch
from

Conversation

seanstrom
Copy link
Member

@seanstrom seanstrom commented Jan 24, 2025

resolves #22090
resolves #22174
resolves #22096

related status-go pr: status-im/status-go#6446

Summary

  • This PR attempts to integrate the react-native Firebase SDK into both the iOS and Android apps.

Review notes

  • As a note to reviewers, this PR is the first step towards integrating Firebase across the mobile apps. This PR will introduce new native dependencies and will likely require a make clean before rebuilding the app.

Testing notes

  • Testing the integration of this PR will require access to the Firebase app console, and/or a terminal to send push notification requests through the Status push notification servers.

Platforms

  • Android
  • iOS

Areas that may be impacted

Functional

  • Android Remote Push Notifications
  • iOS Remote Push Notifications

Steps to test

WIP

status: ready

@status-im-auto
Copy link
Member

status-im-auto commented Jan 24, 2025

Jenkins Builds

Click to see older builds (211)
Commit #️⃣ Finished (UTC) Duration Platform Result
5d1c4d5 #1 2025-01-24 11:38:49 ~8 min tests 📄log
✔️ 5d1c4d5 #1 2025-01-24 11:42:22 ~12 min ios 📱ipa 📲
✔️ 5d1c4d5 #1 2025-01-24 11:43:50 ~13 min android-e2e 🤖apk 📲
✔️ 5d1c4d5 #1 2025-01-24 11:44:36 ~14 min android 🤖apk 📲
77b27d4 #2 2025-01-24 15:40:29 ~11 min tests 📄log
✔️ 77b27d4 #2 2025-01-24 15:43:28 ~14 min android 🤖apk 📲
✔️ 77b27d4 #2 2025-01-24 15:45:03 ~15 min ios 📱ipa 📲
d61b665 #3 2025-01-24 15:54:13 ~5 min tests 📄log
✔️ d61b665 #3 2025-01-24 15:58:20 ~9 min android-e2e 🤖apk 📲
✔️ d61b665 #3 2025-01-24 15:59:30 ~10 min android 🤖apk 📲
✔️ d61b665 #3 2025-01-24 15:59:48 ~10 min ios 📱ipa 📲
0c19fa4 #4 2025-01-24 16:01:33 ~25 sec ios 📄log
0c19fa4 #4 2025-01-24 16:01:41 ~34 sec android 📄log
373e3c1 #5 2025-01-24 16:03:36 ~24 sec ios 📄log
373e3c1 #5 2025-01-24 16:03:40 ~32 sec android-e2e 📄log
373e3c1 #5 2025-01-24 16:05:12 ~2 min android 📄log
373e3c1 #5 2025-01-24 16:05:47 ~2 min tests 📄log
00c90b7 #6 2025-01-24 16:09:49 ~2 min tests 📄log
✔️ 00c90b7 #6 2025-01-24 16:13:59 ~7 min android 🤖apk 📲
✔️ 00c90b7 #6 2025-01-24 16:14:51 ~8 min android-e2e 🤖apk 📲
✔️ 00c90b7 #6 2025-01-24 16:16:40 ~9 min ios 📱ipa 📲
✔️ e49478b #7 2025-01-24 16:27:02 ~4 min tests 📄log
✔️ e49478b #7 2025-01-24 16:30:29 ~8 min android 🤖apk 📲
✔️ e49478b #7 2025-01-24 16:30:36 ~8 min android-e2e 🤖apk 📲
✔️ e49478b #7 2025-01-24 16:36:38 ~14 min ios 📱ipa 📲
✔️ ca8441e #8 2025-01-31 11:36:26 ~4 min tests 📄log
✔️ ca8441e #8 2025-01-31 11:39:50 ~8 min android 🤖apk 📲
✔️ ca8441e #8 2025-01-31 11:40:01 ~8 min android-e2e 🤖apk 📲
✔️ ca8441e #8 2025-01-31 11:41:52 ~10 min ios 📱ipa 📲
✔️ a1d94fd #9 2025-02-10 06:52:21 ~4 min tests 📄log
✔️ a1d94fd #9 2025-02-10 06:56:25 ~9 min android-e2e 🤖apk 📲
✔️ a1d94fd #9 2025-02-10 06:56:56 ~9 min android 🤖apk 📲
✔️ a1d94fd #9 2025-02-10 06:57:48 ~10 min ios 📱ipa 📲
✔️ 5307db3 #10 2025-02-10 13:09:40 ~4 min tests 📄log
✔️ 5307db3 #10 2025-02-10 13:13:49 ~8 min android-e2e 🤖apk 📲
✔️ 5307db3 #10 2025-02-10 13:14:24 ~9 min android 🤖apk 📲
✔️ 5307db3 #10 2025-02-10 13:14:35 ~9 min ios 📱ipa 📲
✔️ be2a8c2 #11 2025-02-13 11:14:15 ~4 min tests 📄log
✔️ be2a8c2 #11 2025-02-13 11:17:32 ~8 min android-e2e 🤖apk 📲
✔️ be2a8c2 #11 2025-02-13 11:18:05 ~8 min android 🤖apk 📲
✔️ be2a8c2 #11 2025-02-13 11:19:50 ~10 min ios 📱ipa 📲
✔️ 818b1fd #12 2025-02-17 07:33:41 ~4 min tests 📄log
✔️ 818b1fd #12 2025-02-17 07:35:33 ~6 min android-e2e 🤖apk 📲
✔️ 818b1fd #12 2025-02-17 07:37:51 ~9 min android 🤖apk 📲
✔️ 818b1fd #12 2025-02-17 07:38:57 ~10 min ios 📱ipa 📲
✔️ c8f1543 #13 2025-02-18 13:03:47 ~7 min tests 📄log
✔️ c8f1543 #13 2025-02-18 13:07:39 ~10 min android 🤖apk 📲
✔️ c8f1543 #13 2025-02-18 13:07:45 ~11 min android-e2e 🤖apk 📲
✔️ c8f1543 #13 2025-02-18 13:08:01 ~11 min ios 📱ipa 📲
f58e51a #15 2025-02-21 12:34:12 ~8 min tests 📄log
f58e51a #15 2025-02-21 12:36:07 ~10 min android 📄log
f58e51a #15 2025-02-21 12:36:09 ~10 min android-e2e 📄log
✔️ f58e51a #15 2025-02-21 12:41:39 ~16 min ios 📱ipa 📲
✔️ fb74c25 #17 2025-02-24 09:12:49 ~8 min android-e2e 🤖apk 📲
fb74c25 #17 2025-02-24 09:14:24 ~10 min tests 📄log
fb74c25 #17 2025-02-24 09:14:36 ~10 min android 📄log
✔️ fb74c25 #17 2025-02-24 09:16:41 ~12 min ios 📱ipa 📲
6c73939 #18 2025-02-24 12:44:03 ~10 min android 📄log
6c73939 #18 2025-02-24 12:44:13 ~10 min tests 📄log
✔️ 6c73939 #18 2025-02-24 12:44:47 ~11 min ios 📱ipa 📲
✔️ 6c73939 #18 2025-02-24 12:46:17 ~12 min android-e2e 🤖apk 📲
✔️ 066e74c #19 2025-02-24 13:10:37 ~7 min android-e2e 🤖apk 📲
066e74c #19 2025-02-24 13:13:15 ~10 min android 📄log
066e74c #19 2025-02-24 13:13:16 ~10 min tests 📄log
✔️ 066e74c #19 2025-02-24 13:15:34 ~12 min ios 📱ipa 📲
✔️ 8fbb226 #20 2025-02-24 13:24:11 ~6 min android-e2e 🤖apk 📲
8fbb226 #20 2025-02-24 13:25:03 ~7 min tests 📄log
✔️ 8fbb226 #20 2025-02-24 13:27:12 ~9 min ios 📱ipa 📲
✔️ 8fbb226 #20 2025-02-24 13:31:14 ~13 min android 🤖apk 📲
✔️ 408bbf2 #21 2025-02-24 15:19:55 ~5 min tests 📄log
✔️ 408bbf2 #21 2025-02-24 15:22:33 ~8 min android-e2e 🤖apk 📲
✔️ 408bbf2 #21 2025-02-24 15:23:50 ~9 min android 🤖apk 📲
✔️ 408bbf2 #21 2025-02-24 15:33:10 ~18 min ios 📱ipa 📲
✔️ 86757ba #22 2025-02-26 13:09:32 ~4 min tests 📄log
86757ba #22 2025-02-26 13:10:54 ~6 min ios 📄log
✔️ 86757ba #22 2025-02-26 13:11:39 ~6 min android-e2e 🤖apk 📲
✔️ 86757ba #22 2025-02-26 13:13:26 ~8 min android 🤖apk 📲
64e9ef3 #23 2025-02-26 13:32:38 ~2 min ios 📄log
✔️ 64e9ef3 #23 2025-02-26 13:34:57 ~5 min tests 📄log
✔️ 64e9ef3 #23 2025-02-26 13:39:01 ~9 min android-e2e 🤖apk 📲
✔️ 64e9ef3 #23 2025-02-26 13:39:29 ~9 min android 🤖apk 📲
d455ee1 #24 2025-02-26 14:17:19 ~3 min ios 📄log
✔️ d455ee1 #24 2025-02-26 14:18:42 ~5 min tests 📄log
9173de4 #25 2025-02-26 14:25:38 ~3 min ios 📄log
✔️ 9173de4 #25 2025-02-26 14:27:23 ~4 min tests 📄log
✔️ 9173de4 #25 2025-02-26 14:29:13 ~6 min android-e2e 🤖apk 📲
✔️ 9173de4 #25 2025-02-26 14:31:00 ~8 min android 🤖apk 📲
a13ab31 #26 2025-02-27 10:48:21 ~2 min tests 📄log
a13ab31 #26 2025-02-27 10:48:34 ~2 min ios 📄log
✔️ a13ab31 #26 2025-02-27 10:53:46 ~8 min android-e2e 🤖apk 📲
✔️ a13ab31 #26 2025-02-27 10:54:23 ~8 min android 🤖apk 📲
5315f79 #27 2025-03-03 11:45:40 ~2 min tests 📄log
✔️ 5315f79 #27 2025-03-03 11:51:15 ~8 min android-e2e 🤖apk 📲
✔️ 5315f79 #27 2025-03-03 11:51:45 ~8 min android 🤖apk 📲
✔️ 5315f79 #27 2025-03-03 11:54:01 ~10 min ios 📱ipa 📲
✔️ d2dd077 #28 2025-03-04 09:22:13 ~4 min tests 📄log
✔️ d2dd077 #28 2025-03-04 09:25:46 ~7 min android-e2e 🤖apk 📲
✔️ d2dd077 #28 2025-03-04 09:26:25 ~8 min android 🤖apk 📲
✔️ d2dd077 #28 2025-03-04 09:30:23 ~12 min ios 📱ipa 📲
✔️ dc17e6b #30 2025-03-06 09:09:03 ~4 min tests 📄log
✔️ dc17e6b #30 2025-03-06 09:13:50 ~9 min android-e2e 🤖apk 📲
✔️ dc17e6b #30 2025-03-06 09:14:30 ~10 min android 🤖apk 📲
✔️ dc17e6b #30 2025-03-06 09:15:27 ~10 min ios 📱ipa 📲
✔️ 0286e04 #31 2025-03-06 09:26:08 ~5 min tests 📄log
✔️ 9e9e75f #32 2025-03-06 09:32:04 ~4 min tests 📄log
✔️ 9e9e75f #32 2025-03-06 09:35:14 ~7 min android-e2e 🤖apk 📲
✔️ 9e9e75f #32 2025-03-06 09:35:57 ~8 min android 🤖apk 📲
✔️ 669789e #35 2025-03-06 09:46:26 ~4 min tests 📄log
✔️ 669789e #35 2025-03-06 09:51:21 ~9 min android-e2e 🤖apk 📲
✔️ 669789e #35 2025-03-06 09:52:01 ~10 min android 🤖apk 📲
549c61b #36 2025-03-06 10:03:37 ~2 min tests 📄log
✔️ 13978a9 #37 2025-03-06 10:15:33 ~7 min android 🤖apk 📲
✔️ 13978a9 #37 2025-03-06 10:19:50 ~12 min android-e2e 🤖apk 📲
13978a9 #38 2025-03-06 10:21:05 ~5 min tests 📄log
✔️ 13978a9 #37 2025-03-06 10:29:27 ~21 min ios 📱ipa 📲
17a1452 #39 2025-03-06 10:37:33 ~2 min tests 📄log
3f6cc75 #40 2025-03-06 10:50:37 ~10 min tests 📄log
✔️ 3f6cc75 #39 2025-03-06 10:54:07 ~14 min android-e2e 🤖apk 📲
614866c #42 2025-03-06 11:10:24 ~8 min tests 📄log
✔️ 614866c #41 2025-03-06 11:10:40 ~8 min android-e2e 🤖apk 📲
✔️ 614866c #41 2025-03-06 11:13:07 ~11 min android 🤖apk 📲
bf1831f #43 2025-03-06 11:26:00 ~11 min tests 📄log
c4301dc #44 2025-03-06 11:40:58 ~13 min tests 📄log
✔️ c4301dc #43 2025-03-06 11:45:55 ~18 min android-e2e 🤖apk 📲
✔️ c4301dc #43 2025-03-06 11:47:37 ~20 min android 🤖apk 📲
0415931 #45 2025-03-06 11:54:22 ~4 min tests 📄log
✔️ 0415931 #44 2025-03-06 12:03:15 ~13 min android-e2e 🤖apk 📲
✔️ 0415931 #44 2025-03-06 12:08:17 ~18 min android 🤖apk 📲
✔️ 0415931 #44 2025-03-06 12:11:57 ~22 min ios 📱ipa 📲
b030029 #46 2025-03-06 12:39:37 ~22 min tests 📄log
63c2e26 #47 2025-03-06 13:01:25 ~20 min tests 📄log
✔️ 63c2e26 #46 2025-03-06 13:02:33 ~21 min android 🤖apk 📲
✔️ 63c2e26 #46 2025-03-06 13:03:50 ~22 min android-e2e 🤖apk 📲
✔️ dca67b5 #48 2025-03-06 13:20:55 ~15 min tests 📄log
✔️ dca67b5 #47 2025-03-06 13:21:37 ~16 min android-e2e 🤖apk 📲
✔️ dca67b5 #47 2025-03-06 13:22:34 ~17 min android 🤖apk 📲
✔️ 468b87b #48 2025-03-06 13:39:26 ~13 min android-e2e 🤖apk 📲
✔️ 468b87b #48 2025-03-06 13:39:35 ~13 min android 🤖apk 📲
✔️ 468b87b #49 2025-03-06 13:39:59 ~14 min tests 📄log
834ca5d #50 2025-03-06 13:46:03 ~2 min tests 📄log
✔️ 834ca5d #49 2025-03-06 13:51:06 ~7 min android-e2e 🤖apk 📲
✔️ 834ca5d #49 2025-03-06 13:51:51 ~8 min android 🤖apk 📲
✔️ 834ca5d #49 2025-03-06 14:06:47 ~23 min ios 📱ipa 📲
616d249 #51 2025-03-06 15:34:58 ~2 min tests 📄log
✔️ 616d249 #50 2025-03-06 15:40:40 ~8 min android-e2e 🤖apk 📲
✔️ 616d249 #50 2025-03-06 15:41:11 ~8 min android 🤖apk 📲
✔️ 616d249 #50 2025-03-06 15:43:29 ~11 min ios 📱ipa 📲
✖️ baf13e8 #52 2025-03-06 16:18:17 ~5 min tests 📄log
✔️ baf13e8 #51 2025-03-06 16:22:12 ~9 min android-e2e 🤖apk 📲
✔️ baf13e8 #51 2025-03-06 16:22:45 ~9 min android 🤖apk 📲
✔️ baf13e8 #51 2025-03-06 16:23:02 ~10 min ios 📱ipa 📲
✖️ 2fc81f3 #53 2025-03-07 07:37:37 ~4 min tests 📄log
✔️ 2fc81f3 #52 2025-03-07 07:40:14 ~7 min android 🤖apk 📲
✔️ 2fc81f3 #52 2025-03-07 07:40:31 ~7 min android-e2e 🤖apk 📲
✔️ 2fc81f3 #52 2025-03-07 07:43:46 ~11 min ios 📱ipa 📲
8ea0235 #55 2025-03-07 10:15:49 ~2 min tests 📄log
✔️ 8ea0235 #54 2025-03-07 10:20:10 ~7 min android-e2e 🤖apk 📲
✔️ 8ea0235 #54 2025-03-07 10:21:17 ~8 min android 🤖apk 📲
✔️ 8ea0235 #54 2025-03-07 10:25:49 ~12 min ios 📱ipa 📲
44a33c0 #56 2025-03-07 10:34:00 ~2 min tests 📄log
✔️ 44a33c0 #55 2025-03-07 10:38:32 ~7 min android-e2e 🤖apk 📲
✔️ 44a33c0 #55 2025-03-07 10:39:09 ~7 min android 🤖apk 📲
✔️ 44a33c0 #55 2025-03-07 10:42:31 ~11 min ios 📱ipa 📲
2ed6e95 #56 2025-03-10 09:04:56 ~2 min ios 📄log
✔️ 2ed6e95 #57 2025-03-10 09:07:16 ~5 min tests 📄log
✔️ 2ed6e95 #56 2025-03-10 09:11:19 ~9 min android-e2e 🤖apk 📲
✔️ 2ed6e95 #56 2025-03-10 09:11:37 ~9 min android 🤖apk 📲
✔️ c1fd9ef #58 2025-03-11 09:06:43 ~6 min tests 📄log
✔️ c1fd9ef #57 2025-03-11 09:07:36 ~7 min android-e2e 🤖apk 📲
✔️ c1fd9ef #57 2025-03-11 09:09:29 ~9 min android 🤖apk 📲
✔️ c1fd9ef #57 2025-03-11 09:12:48 ~13 min ios 📱ipa 📲
✔️ 3103824 #59 2025-03-11 13:00:59 ~4 min tests 📄log
✔️ 3103824 #58 2025-03-11 13:03:11 ~6 min android-e2e 🤖apk 📲
✔️ 3103824 #58 2025-03-11 13:04:03 ~7 min android 🤖apk 📲
✔️ 3103824 #58 2025-03-11 13:07:44 ~11 min ios 📱ipa 📲
✔️ 7ef6e78 #60 2025-03-18 12:39:38 ~5 min tests 📄log
✔️ 7ef6e78 #59 2025-03-18 12:43:40 ~9 min android-e2e 🤖apk 📲
✔️ 7ef6e78 #59 2025-03-18 12:44:15 ~9 min android 🤖apk 📲
✔️ 7ef6e78 #59 2025-03-18 12:48:29 ~13 min ios 📱ipa 📲
✖️ 9db6d8b #62 2025-03-20 15:25:24 ~8 min tests 📄log
✔️ 9db6d8b #61 2025-03-20 15:26:29 ~9 min android-e2e 🤖apk 📲
✔️ 9db6d8b #61 2025-03-20 15:26:50 ~10 min android 🤖apk 📲
✔️ 9db6d8b #61 2025-03-20 15:33:38 ~17 min ios 📱ipa 📲
964d384 #63 2025-03-21 09:40:42 ~5 min tests 📄log
✔️ 964d384 #62 2025-03-21 09:45:48 ~10 min android 🤖apk 📲
✔️ 964d384 #62 2025-03-21 09:45:55 ~10 min android-e2e 🤖apk 📲
✔️ 964d384 #62 2025-03-21 09:47:40 ~12 min ios 📱ipa 📲
9373c8f #64 2025-03-21 09:57:44 ~5 min tests 📄log
✔️ 9373c8f #63 2025-03-21 10:01:03 ~8 min android-e2e 🤖apk 📲
✔️ 9373c8f #63 2025-03-21 10:02:38 ~10 min android 🤖apk 📲
✔️ 9373c8f #63 2025-03-21 10:08:38 ~16 min ios 📱ipa 📲
✖️ 957bf1a #65 2025-03-21 10:51:06 ~5 min tests 📄log
✔️ 957bf1a #64 2025-03-21 10:54:15 ~8 min android-e2e 🤖apk 📲
✔️ 957bf1a #64 2025-03-21 10:54:31 ~8 min android 🤖apk 📲
✔️ 957bf1a #64 2025-03-21 10:58:15 ~12 min ios 📱ipa 📲
a04b8ab #65 2025-03-24 13:39:59 ~12 min ios 📄log
a04b8ab #65 2025-03-24 13:45:23 ~17 min android-e2e 📄log
a04b8ab #66 2025-03-24 13:46:33 ~18 min tests 📄log
a04b8ab #65 2025-03-24 13:46:41 ~18 min android 📄log
✖️ 89fe64f #68 2025-03-25 07:59:17 ~5 min tests 📄log
89fe64f #67 2025-03-25 08:03:54 ~10 min android-e2e 📄log
89fe64f #67 2025-03-25 08:03:54 ~10 min android 📄log
✔️ 89fe64f #67 2025-03-25 08:08:45 ~15 min ios 📱ipa 📲
530b386 #70 2025-03-26 09:25:57 ~2 min tests 📄log
530b386 #69 2025-03-26 09:33:29 ~10 min android-e2e 📄log
530b386 #69 2025-03-26 09:33:36 ~10 min android 📄log
✔️ 530b386 #69 2025-03-26 09:37:58 ~14 min ios 📱ipa 📲
5cb4b45 #71 2025-03-26 11:26:39 ~6 min tests 📄log
✔️ 5cb4b45 #70 2025-03-26 11:28:32 ~8 min android 🤖apk 📲
✔️ 5cb4b45 #70 2025-03-26 11:28:40 ~8 min android-e2e 🤖apk 📲
✔️ 5cb4b45 #70 2025-03-26 11:32:25 ~12 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
cc0a563 #72 2025-03-27 11:11:35 ~4 min tests 📄log
✔️ cc0a563 #71 2025-03-27 11:15:03 ~8 min android-e2e 🤖apk 📲
✔️ cc0a563 #71 2025-03-27 11:16:48 ~10 min android 🤖apk 📲
✔️ cc0a563 #71 2025-03-27 11:18:28 ~11 min ios 📱ipa 📲
✖️ d89661a #74 2025-03-27 16:08:31 ~5 min tests 📄log
✔️ d89661a #73 2025-03-27 16:13:51 ~10 min android 🤖apk 📲
✔️ d89661a #73 2025-03-27 16:15:41 ~12 min ios 📱ipa 📲
✔️ d89661a #73 2025-03-27 16:17:55 ~15 min android-e2e 🤖apk 📲

@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 6 times, most recently from e49478b to ca8441e Compare January 31, 2025 11:31
@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 3 times, most recently from 5307db3 to be2a8c2 Compare February 13, 2025 11:09
@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 3 times, most recently from 4453b01 to f58e51a Compare February 21, 2025 12:25
@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 2 times, most recently from fb74c25 to 6c73939 Compare February 24, 2025 12:33
@seanstrom seanstrom changed the title wip: re-integrate firebase Integrate Firebase for Android and iOS Feb 24, 2025
@seanstrom seanstrom marked this pull request as ready for review February 24, 2025 12:53
@seanstrom seanstrom requested a review from jakubgs as a code owner February 24, 2025 12:53
Copy link
Member Author

@seanstrom seanstrom left a 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.

Comment on lines 212 to 216
build-fdroid: ##@build Build release for F-Droid
@scripts/google-free.sh
@scripts/build-android.sh

Copy link
Member Author

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.

Comment on lines +1 to +11
#!/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
Copy link
Member Author

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.

@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 2 times, most recently from 9173de4 to a13ab31 Compare February 27, 2025 10:45
Copy link
Contributor

@ilmotta ilmotta left a 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.

Comment on lines +113 to 114
<string>fetch</string>
</array>
Copy link
Contributor

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.

"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]
Copy link
Contributor

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?

Copy link
Member Author

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.

Copy link
Contributor

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.

@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch 4 times, most recently from dc17e6b to 0286e04 Compare March 6, 2025 09:20
@seanstrom seanstrom force-pushed the seanstrom/firebase-integration branch from 0cf7bf8 to d89661a Compare March 27, 2025 16:02
@vkjr vkjr self-requested a review March 28, 2025 13:05
Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: REVIEW
8 participants