diff --git a/ios/Podfile.lock b/ios/Podfile.lock index a7e9549e49..9446102836 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -359,6 +359,11 @@ PODS: - TOCropViewController - RNInAppBrowser (3.7.0): - React-Core + - RNNotifee (7.4.0): + - React-Core + - RNNotifee/NotifeeCore (= 7.4.0) + - RNNotifee/NotifeeCore (7.4.0): + - React-Core - RNReactNativeHapticFeedback (1.14.0): - React-Core - RNReanimated (2.13.0): @@ -454,6 +459,7 @@ DEPENDENCIES: - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) - RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`) + - "RNNotifee (from `../node_modules/@notifee/react-native`)" - RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) @@ -568,6 +574,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-image-crop-picker" RNInAppBrowser: :path: "../node_modules/react-native-inappbrowser-reborn" + RNNotifee: + :path: "../node_modules/@notifee/react-native" RNReactNativeHapticFeedback: :path: "../node_modules/react-native-haptic-feedback" RNReanimated: @@ -635,6 +643,7 @@ SPEC CHECKSUMS: RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNImageCropPicker: 648356d68fbf9911a1016b3e3723885d28373eda RNInAppBrowser: e36d6935517101ccba0e875bac8ad7b0cb655364 + RNNotifee: da8dcf09f079ea22f46e239d7c406e10d4525a5f RNReactNativeHapticFeedback: 1e3efeca9628ff9876ee7cdd9edec1b336913f8c RNReanimated: d8d9d3d3801bda5e35e85cdffc871577d044dc2e RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d diff --git a/package.json b/package.json index efd8aa40f3..8d8ec4eb2b 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@fortawesome/react-native-fontawesome": "^0.3.0", "@gorhom/bottom-sheet": "^4", "@mattermost/react-native-paste-input": "^0.6.0", + "@notifee/react-native": "^7.4.0", "@react-native-async-storage/async-storage": "^1.17.6", "@react-native-camera-roll/camera-roll": "^5.1.0", "@react-native-clipboard/clipboard": "^1.10.0", diff --git a/src/state/models/me.ts b/src/state/models/me.ts index 201ce04c72..8f20e2865f 100644 --- a/src/state/models/me.ts +++ b/src/state/models/me.ts @@ -1,4 +1,5 @@ import {makeAutoObservable, runInAction} from 'mobx' +import notifee from '@notifee/react-native' import {RootStoreModel} from './root-store' import {FeedModel} from './feed-view' import {NotificationsViewModel} from './notifications-view' @@ -104,6 +105,9 @@ export class MeModel { this.rootStore.log.error('Failed to setup notifications model', e) }), ]) + + // request notifications permission once the user has logged in + notifee.requestPermission() } else { this.clear() } diff --git a/yarn.lock b/yarn.lock index 2480658900..da20b20cfd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2109,6 +2109,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@notifee/react-native@^7.4.0": + version "7.4.0" + resolved "https://registry.yarnpkg.com/@notifee/react-native/-/react-native-7.4.0.tgz#0f20744307bf3b800f7b56eb2d0bbdd474748d09" + integrity sha512-c8pkxDQFRbw0JlUmTb07OTG/4LQHRj8MBodMLwEcO+SvqIxK8ya8zSUEzfdcdWsSVqdoym0v3zpSNroR3Quj/w== + "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": version "0.5.10" resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8"