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

Remove firebase #9308

Merged
merged 1 commit into from
Oct 29, 2019
Merged

Remove firebase #9308

merged 1 commit into from
Oct 29, 2019

Conversation

yenda
Copy link
Contributor

@yenda yenda commented Oct 28, 2019

fix #9179
fix #9136 (no notification no problem)
fix #8742 (firebase removed)
fix #8555 notifications removed
fix #8554 no more notifications
fix #8550 fix #8217 fix #8216
fix #7438 ios doesn't deserve notifications anyway

Remove Firebase, Google Services and all the Google ads crap from the project.
Remove fcm-token and device infos
Remove push-notifications

Test protocol

  • install app on different devices (iPhone 6 plus, OP7pro)
  • create account, recover account, pair devices
  • receive 1-1 messages that would normally trigger notifications

What could go wrong:

  • UI element related to notifications still present (currently removed: enable notification screen and profile notification setting item)
  • leftover notification code could crash the app

@yenda yenda requested review from jakubgs, pedropombeiro, vkjr and a team as code owners October 28, 2019 17:31
@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@auto-assign auto-assign bot removed the request for review from a team October 28, 2019 17:31
@status-github-bot
Copy link

Pull Request Checklist

  • Docs: Updated the documentation, if affected
  • Docs: Added or updated inline comments explaining intention of the code
  • Tests: Ensured that all new UI elements have been assigned accessibility IDs
  • Tests: Signaled need for E2E tests with label, if applicable
  • Tests: Briefly described what was tested and what platforms were used
  • UI: In case of UI changes, ensured that UI matches Figma
  • UI: In case of UI changes, requested review from a Core UI designer
  • UI: In case of UI changes, included screenshots of implementation

@status-im-auto
Copy link
Member

status-im-auto commented Oct 28, 2019

Jenkins Builds

Click to see older builds (63)
Commit #️⃣ Finished (UTC) Duration Platform Result
e486506 #1 2019-10-28 17:34:09 ~2 min windows 📄log
e486506 #1 2019-10-28 17:34:26 ~2 min macos 📄log
e486506 #1 2019-10-28 17:34:37 ~2 min linux 📄log
e486506 #1 2019-10-28 17:36:14 ~4 min android 📄log
e486506 #1 2019-10-28 17:37:30 ~5 min ios 📄log
e486506 #1 2019-10-28 17:53:13 ~21 min android-e2e 📄log
06695eb #2 2019-10-28 19:05:09 ~3 min android 📄log
06695eb #2 2019-10-28 19:05:15 ~3 min ios 📄log
06695eb #2 2019-10-28 19:05:19 ~3 min android-e2e 📄log
06695eb #2 2019-10-28 19:05:22 ~3 min windows 📄log
06695eb #2 2019-10-28 19:05:25 ~3 min macos 📄log
06695eb #2 2019-10-28 19:05:39 ~3 min linux 📄log
db1063c #3 2019-10-28 19:17:02 ~3 min windows 📄log
db1063c #3 2019-10-28 19:17:02 ~3 min macos 📄log
db1063c #3 2019-10-28 19:17:06 ~3 min ios 📄log
db1063c #3 2019-10-28 19:17:22 ~3 min linux 📄log
db1063c #3 2019-10-28 19:17:31 ~3 min android 📄log
db1063c #3 2019-10-28 19:17:39 ~3 min android-e2e 📄log
1d3bb54 #4 2019-10-28 20:41:12 ~5 min ios 📄log
✔️ 1d3bb54 #4 2019-10-28 20:47:04 ~11 min android 📦apk 📲
✔️ 1d3bb54 #4 2019-10-28 20:48:29 ~12 min macos 📦dmg
✔️ 1d3bb54 #4 2019-10-28 20:48:39 ~12 min android-e2e 📦apk 📲
✔️ 1d3bb54 #4 2019-10-28 20:50:43 ~14 min linux 📦App
✔️ 1d3bb54 #4 2019-10-28 20:50:56 ~15 min windows 📦exe
5b9a6cc #5 2019-10-28 21:06:46 ~6 min ios 📄log
✔️ 5b9a6cc #5 2019-10-28 21:11:16 ~10 min android 📦apk 📲
✔️ 5b9a6cc #5 2019-10-28 21:14:01 ~13 min macos 📦dmg
66253b2 #6 2019-10-28 21:18:38 ~5 min ios 📄log
✔️ 66253b2 #6 2019-10-28 21:23:21 ~10 min android 📦apk 📲
✔️ 66253b2 #6 2019-10-28 21:24:55 ~11 min android-e2e 📦apk 📲
✔️ 66253b2 #6 2019-10-28 21:26:26 ~13 min macos 📦dmg
✔️ 66253b2 #6 2019-10-28 21:27:54 ~14 min linux 📦App
✔️ 66253b2 #6 2019-10-28 21:28:13 ~15 min windows 📦exe
11450cf #8 2019-10-29 08:47:45 ~6 min ios 📄log
✔️ 11450cf #8 2019-10-29 08:52:00 ~10 min android-e2e 📦apk 📲
✔️ 11450cf #8 2019-10-29 08:54:39 ~13 min macos 📦dmg
✔️ 11450cf #8 2019-10-29 08:55:36 ~14 min android 📦apk 📲
✔️ 11450cf #8 2019-10-29 08:57:20 ~16 min linux 📦App
✔️ 11450cf #8 2019-10-29 08:58:36 ~17 min windows 📦exe
✔️ 4901f7b #9 2019-10-29 09:48:07 ~8 min ios 📦ipa 📲
✔️ 4901f7b #9 2019-10-29 09:50:48 ~10 min android-e2e 📦apk 📲
✔️ 4901f7b #9 2019-10-29 09:52:02 ~12 min macos 📦dmg
✔️ 4901f7b #9 2019-10-29 09:53:31 ~13 min linux 📦App
✔️ 4901f7b #9 2019-10-29 09:54:58 ~15 min android 📦apk 📲
✔️ 4901f7b #9 2019-10-29 09:56:24 ~16 min windows 📦exe
✔️ fbc18ca #10 2019-10-29 11:07:36 ~8 min ios 📦ipa 📲
✔️ fbc18ca #10 2019-10-29 11:10:08 ~10 min android-e2e 📦apk 📲
✔️ fbc18ca #10 2019-10-29 11:12:21 ~12 min macos 📦dmg
✔️ fbc18ca #10 2019-10-29 11:13:12 ~13 min android 📦apk 📲
✔️ fbc18ca #10 2019-10-29 11:13:24 ~13 min linux 📦App
✔️ fbc18ca #10 2019-10-29 11:14:15 ~14 min windows 📦exe
✔️ 374ffc7 #11 2019-10-29 11:28:27 ~7 min ios 📦ipa 📲
✔️ 374ffc7 #11 2019-10-29 11:31:06 ~10 min android-e2e 📦apk 📲
✔️ 374ffc7 #11 2019-10-29 11:32:14 ~11 min macos 📦dmg
✔️ 374ffc7 #11 2019-10-29 11:33:43 ~13 min android 📦apk 📲
✔️ 374ffc7 #11 2019-10-29 11:34:11 ~13 min linux 📦App
✔️ 374ffc7 #11 2019-10-29 11:35:03 ~14 min windows 📦exe
✔️ 76ebba3 #12 2019-10-29 13:32:24 ~9 min ios 📦ipa 📲
✔️ 76ebba3 #12 2019-10-29 13:35:17 ~12 min android-e2e 📦apk 📲
✔️ 76ebba3 #12 2019-10-29 13:35:49 ~12 min macos 📦dmg
✔️ 76ebba3 #12 2019-10-29 13:36:40 ~13 min windows 📦exe
✔️ 76ebba3 #12 2019-10-29 13:36:46 ~13 min android 📦apk 📲
✔️ 76ebba3 #12 2019-10-29 13:37:42 ~14 min linux 📦App
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 1940ac5 #14 2019-10-29 14:16:19 ~12 min linux 📦App
✔️ 1940ac5 #14 2019-10-29 14:16:28 ~12 min ios 📦ipa 📲
✔️ 1940ac5 #14 2019-10-29 14:17:10 ~13 min macos 📦dmg
✔️ 1940ac5 #14 2019-10-29 14:18:59 ~15 min android 📦apk 📲
✔️ 1940ac5 #14 2019-10-29 14:20:43 ~16 min windows 📦exe
✔️ 7bb45fd #15 2019-10-29 14:17:13 ~12 min android-e2e 📦apk 📲

@yenda yenda requested review from cammellos and rasom October 28, 2019 21:14
@yenda yenda self-assigned this Oct 28, 2019
installation-name (get-in cofx [:db :pairing/installations installation-id :name])
device-type utils.platform/os]
(protocol/send (transport.pairing/PairInstallation. installation-id device-type installation-name fcm-token) nil cofx)))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@cammellos what needs to be done on go side to remove fcm tokens and device infos? I think there is also some firebase stuff on go side?

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@yenda
Copy link
Contributor Author

yenda commented Oct 29, 2019

@Serhy @churik can you check the issues I marked as resolved and tell me if you agree to close them with this PR? I will test the app myself today, you can also do additional testing if you want.

@churik
Copy link
Member

churik commented Oct 29, 2019

@yenda ofc.
let's start from e2e then

@yenda
Copy link
Contributor Author

yenda commented Oct 29, 2019

@churik I tested all the steps described in the summary on both devices.

@@ -4,7 +4,7 @@
[status-im.multiaccounts.model :as multiaccounts.model]
[status-im.transport.filters.core :as transport.filters]
[status-im.contact.db :as contact.db]
[status-im.contact.device-info :as device-info]

Copy link
Contributor

Choose a reason for hiding this comment

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

extra line?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I naively though that cljfmt would remove them

@@ -4,7 +4,7 @@
[status-im.chat.models :as models.chat]
[status-im.contact.core :as contact]
[status-im.contact.db :as contact.db]
[status-im.contact.device-info :as device-info]

Copy link
Contributor

Choose a reason for hiding this comment

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

extra line?

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@statustestbot
Copy link

27% of end-end tests have passed

Total executed tests: 49
Failed tests: 36
Passed tests: 13

Failed tests (36)

Click to expand
1. test_block_user_from_public_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

2. test_filters_from_daap

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

3. test_copy_and_paste_messages

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

4. test_send_transaction_from_daap

Device 1: Tap on SignButton
Device 1: Wait for OkButton

Device 1: 'OkButton' is not found on the screen; also Unexpected Alert is shown: 'Consider it complete after 12 confirmations on the network.'

Device sessions

5. test_public_chat_messaging

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

6. test_long_press_to_delete_1_1_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

7. test_password_in_logcat_sign_in

Device 1: Type 'unique1029105340' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

8. test_text_message_1_1_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

9. test_add_to_contacts

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

10. test_unread_messages_counter_1_1_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

11. test_send_message_in_group_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

12. test_can_open_dapp_from_dapp_store

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

13. test_ens_username_recipient

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

14. test_offline_messaging_1_1_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

15. test_add_account_to_multiaccount_instance

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

16. test_manage_assets

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

17. test_long_press_to_delete_public_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

18. test_send_emoji

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

19. test_search_chat_on_home

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

20. test_install_pack_and_send_sticker

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

21. test_messaging_in_different_networks

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

22. test_logcat_backup_recovery_phrase

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

23. test_logcat_sign_message_from_daap

Device 1: Type 'unique1029105342' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

24. test_switch_users_and_add_new_account

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

25. test_login_with_new_account

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

26. test_start_chat_with_ens

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

27. test_add_contact_from_public_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

28. test_password_in_logcat_creating_account

Device 1: Type 'unique1029105337' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

29. test_backup_recovery_phrase

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

30. test_offline_status

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

31. test_open_google_com_via_open_dapp

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

32. test_unread_messages_counter_public_chat

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

33. test_sign_message_from_daap

Device 1: Type 'password_for_daap' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

34. test_user_can_remove_profile_picture

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

35. test_share_contact_code_and_wallet_address

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

36. test_refresh_button_browsing_app_webview

Device 1: Type 'qwerty' to ConfirmYourPasswordInput
Device 1: Tap on NextButton

Device 1: 'MaybeLaterButton' is not found on the screen

Device sessions

Passed tests (13)

Click to expand
1. test_deploy_contract_from_daap
Device sessions

2. test_open_transaction_on_etherscan
Device sessions

3. test_sign_typed_message
Device sessions

4. test_can_use_purchased_stickers_on_recovered_account
Device sessions

5. test_logcat_send_transaction_from_daap
Device sessions

6. test_logcat_send_transaction_from_wallet
Device sessions

7. test_send_token_with_7_decimals
Device sessions

8. test_modify_transaction_fee_values
Device sessions

9. test_send_eth_from_wallet_to_address
Device sessions

10. test_logcat_recovering_account
Device sessions

11. test_can_add_existing_ens
Device sessions

12. test_send_stt_from_wallet
Device sessions

13. test_send_two_transactions_one_after_another_in_dapp
Device sessions

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@statustestbot
Copy link

100% of end-end tests have passed

Total executed tests: 49
Failed tests: 0
Passed tests: 49

Passed tests (49)

Click to expand
1. test_block_user_from_public_chat
Device sessions

2. test_filters_from_daap
Device sessions

3. test_copy_and_paste_messages
Device sessions

4. test_send_transaction_from_daap
Device sessions

5. test_deploy_contract_from_daap
Device sessions

6. test_open_transaction_on_etherscan
Device sessions

7. test_public_chat_messaging
Device sessions

8. test_long_press_to_delete_1_1_chat
Device sessions

9. test_password_in_logcat_sign_in
Device sessions

10. test_text_message_1_1_chat
Device sessions

11. test_add_to_contacts
Device sessions

12. test_sign_typed_message
Device sessions

13. test_unread_messages_counter_1_1_chat
Device sessions

14. test_can_use_purchased_stickers_on_recovered_account
Device sessions

15. test_logcat_send_transaction_from_daap
Device sessions

16. test_send_message_in_group_chat
Device sessions

17. test_can_open_dapp_from_dapp_store
Device sessions

18. test_ens_username_recipient
Device sessions

19. test_logcat_send_transaction_from_wallet
Device sessions

20. test_send_token_with_7_decimals
Device sessions

21. test_offline_messaging_1_1_chat
Device sessions

22. test_modify_transaction_fee_values
Device sessions

23. test_send_eth_from_wallet_to_address
Device sessions

24. test_add_account_to_multiaccount_instance
Device sessions

25. test_manage_assets
Device sessions

26. test_long_press_to_delete_public_chat
Device sessions

27. test_send_emoji
Device sessions

28. test_search_chat_on_home
Device sessions

29. test_logcat_recovering_account
Device sessions

30. test_can_add_existing_ens
Device sessions

31. test_install_pack_and_send_sticker
Device sessions

32. test_messaging_in_different_networks
Device sessions

33. test_logcat_backup_recovery_phrase
Device sessions

34. test_logcat_sign_message_from_daap
Device sessions

35. test_switch_users_and_add_new_account
Device sessions

36. test_send_stt_from_wallet
Device sessions

37. test_login_with_new_account
Device sessions

38. test_start_chat_with_ens
Device sessions

39. test_add_contact_from_public_chat
Device sessions

40. test_send_two_transactions_one_after_another_in_dapp
Device sessions

41. test_password_in_logcat_creating_account
Device sessions

42. test_backup_recovery_phrase
Device sessions

43. test_offline_status
Device sessions

44. test_open_google_com_via_open_dapp
Device sessions

45. test_unread_messages_counter_public_chat
Device sessions

46. test_sign_message_from_daap
Device sessions

47. test_user_can_remove_profile_picture
Device sessions

48. test_share_contact_code_and_wallet_address
Device sessions

49. test_refresh_button_browsing_app_webview
Device sessions

@yenda
Copy link
Contributor Author

yenda commented Oct 29, 2019

@churik do you want to run some additional manual tests before this is merged?

@churik
Copy link
Member

churik commented Oct 29, 2019

Tested on IOS 13.0 and Android 8.0:

  • no PNs - no issues mentioned in description;

Additionally checked:

  • save password
  • reopening app
  • fetching messages from offline
  • adding / removing from contacts
  • creating account with keycard.

Ready to go from my side.
Thx for your work @yenda!
cc @rachelhamlin - no more PNs for now.

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@rachelhamlin
Copy link
Contributor

What happens if we decide to revive (suboptimal, centralized) PNs down the line at the request of iOS users? Is it prudent to remove Firebase entirely right now @yenda @pombeirp?

@yenda
Copy link
Contributor Author

yenda commented Oct 29, 2019

@rachelhamlin we can then in the worst case simply revert the commit. But reintroducing Firebase would be a bad decision.

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

Signed-off-by: yenda <eric@status.im>
@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs, @pombeirp, and @corpetty

@yenda yenda merged commit 7bb45fd into develop Oct 29, 2019
@delete-merged-branch delete-merged-branch bot deleted the remove-firebase branch October 29, 2019 14:04
@dependency-lockfile-snitch
Copy link

mobile/js_files/yarn.lock changed. Pinging @jakubgs and @corpetty

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment