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

feat: mobile troubleshoot notifications #5330

Merged
merged 49 commits into from
Mar 4, 2024

Conversation

reinaldonetof
Copy link
Contributor

@reinaldonetof reinaldonetof commented Nov 10, 2023

Proposed changes

Problem statement:

  • Push notifications are the top cause of bad reviews in both Google Play and App Store.

Proposed solution:

  • Create a troubleshooting section in the app to help users identify the possible issues related to push notifications

As we aren't merging the Push Quota into this PR, I removed the feature of it from here and added at this branch https://github.com/RocketChat/Rocket.Chat.ReactNative/tree/feat.troubleshooting-notification-push-quota. When the Push Quota will be done on the backend side, we could work with that branch.

Issue(s)

How to test or reproduce

  • The user can go to Troubleshoot View from:

    • Rooms List View
    • Room View (when is in alert)
    • Room View (clicking in the icon when the icon is not in alert) -> Notification Preference -> Troubleshoot View
    • Drawer (click at hamburger icon) -> Profile -> Notifications -> Troubleshoot View
  • The Device notification settings refers the permission to receive notification in the device, if you enable it or not

  • The push Gateway connection will appear only for servers equal to or greater than 6.6.0

  • There are 3 values for push gateway connection:

    • the green icon -> when uses the default gateway
    • the orange icon -> when the servers uses a custom gateway
    • the red icon -> when the gateway isn't connected
  • To test the push notification there is a permission 'test-push-notifications', then the workspace's admin can determine who is able to test the push-notification, as default of the server all the users can test it. If the user isn't able to test, the button should be disabled.

Screenshots

20231212_112640.mp4

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

reinaldonetof and others added 6 commits September 28, 2023 17:32
* navigation done

* create the icon inside roomslistview, navigation to push troubleshot and layout push troubleshoot

* custom header

* fix the rooms list view header icon

* layout done

* update the pt-br i18n

* tweak on colors
* button and simple navigation done, missing master detail

* navigation

* add withTheme and colors to rightuttons

* fix e2e test
* feat: add troubleshooting to notifications pages

* fix e2e test
* iOS go to device notification setting to change the configuration

* go to notification settings with android

* add notifee

* add the reducer and action

* saga request done

* add the setInAlert action

* tweak at name and add focus to dispatch the request

* use the foreground inside pushTroubleShoot to request the notification and fix the icon color

* add the request at roomslistview didmount

* remove the notification modulo from android

* add patch

* minor tweak
* feat: test push notification

* restApi and definition

* push.info and change properly the troubleshootingNotification

* use the finally at try/catch

* minor tweak
@reinaldonetof reinaldonetof self-assigned this Nov 10, 2023
@reinaldonetof reinaldonetof changed the title new: mobile troubleshoot notifications feat: mobile troubleshoot notifications Dec 7, 2023
* develop: (24 commits)
  fix: add type checking on notificationType (#5376)
  fix: call the internetStateMiddleware for release mode (#5364)
  improve: handle attachment actions in a quote and how to jump to message (#5363)
  fix: translation prop checking (#5369)
  fix: handle camera permission crash (#5372)
  feat (iOS): mobile ringer (#5327)
  fix: enables navigation for deleted threads (#5317)
  fix: Add valid version with valid exception use case (#5368)
  feat (Android): mobile ringer (#5286)
  chore: Remove pre-commit hook (#5362)
  chore: Remove unused Jitsi deep link (#5361)
  fix(Android): Deep links not working on Android 12 (#5357)
  chore: Bump version to 4.44.0 (#5358)
  fix(iOS): Keyboard not working properly on iOS 17 (#5343)
  fix: call media permissions in android 13+ (#5326)
  feat: new audio player (#5160)
  feat: capability to enable/disable writing in rooms read only (#5298)
  fix: starting a new thread from an attachment (#5345)
  fix: show last message when pinned (#5316)
  chore: Bump version to 4.43.0 (#5341)
  ...
@reinaldonetof reinaldonetof force-pushed the TC-782-Mobile-Troubleshoot-notifications branch from 282b12c to a652301 Compare December 11, 2023 19:59
app/lib/services/restApi.ts Outdated Show resolved Hide resolved
app/views/RoomsListView/index.tsx Outdated Show resolved Hide resolved
app/views/RoomView/RightButtons.tsx Outdated Show resolved Hide resolved
app/views/PushTroubleshootView/index.tsx Outdated Show resolved Hide resolved
app/views/PushTroubleshootView/index.tsx Outdated Show resolved Hide resolved
app/sagas/troubleshootingNotification.ts Outdated Show resolved Hide resolved
app/sagas/troubleshootingNotification.ts Outdated Show resolved Hide resolved
app/sagas/troubleshootingNotification.ts Outdated Show resolved Hide resolved
app/views/RoomsListView/index.tsx Outdated Show resolved Hide resolved
app/views/RoomView/index.tsx Outdated Show resolved Hide resolved
app/views/RoomView/index.tsx Outdated Show resolved Hide resolved
app/views/PushTroubleshootView/index.tsx Outdated Show resolved Hide resolved
app/views/PushTroubleshootView/index.tsx Outdated Show resolved Hide resolved
app/lib/constants/colors.ts Outdated Show resolved Hide resolved
@GleidsonDaniel GleidsonDaniel merged commit 4c8caf0 into develop Mar 4, 2024
3 of 8 checks passed
@GleidsonDaniel GleidsonDaniel deleted the TC-782-Mobile-Troubleshoot-notifications branch March 4, 2024 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants