Daniel Espino García
b7791add7c
Use UUID native functions ( #8032 )
2024-06-20 18:22:59 +08:00
Elias Nahum
b8c088cc70
Upgrade RN as well as update or replace other dependencies ( #8011 )
...
* start upgrade to RN 74
* migrate react-native-fs to expo-file-system
* exclude expo-asset module
* fix database manager remove directory
* fix: android network helper
* include expo on android
* temporarily disable android dep lock
* replace react-native-create-thumbnail with expo-video-thumnails
* update patches file version
* fix android build on 74
* create local library to replace MattermostManaged, Notifications and SplitView modules with new arch support
* migrate app to use new mattermost-rnutils library
* remove unused flipper class for android unsigned
* fix mattermost-rnutils android foldedObserver lifecycle
* use mattermost-rnutils on Android
* use mattermost-rnutils on iOS
* path react-native-navigation to not crash when activity is not NavigationActivity
* create local library for android share extension with new arch support
* Replace ShareModule with @mattermost/rnshare library
* remove ShareModule from android native code
* update react-intl
* update nodejs to 20.x.x npm to 10.x.x and dev deps
* update @gorhom/bottom-sheet
* use MattermostShare conditionally based on the platform
* update @react-native-camera-roll/camera-roll
* remove unused react-native-calendars
* fix metro config
* fix terminate session race condition
* remove unused analytics
* replace react-native-device-info with expo-application and expo-device
* update @react-native-clipboard/clipboard
* update @react-native-community/datetimepicker
* update @react-native-community/netinfo
* update @sentry/react-native
* update react-native-document-picker
* update react-native-gesture-handler
* update react-native-share
* update react-native-svg and react-native-svg-transformer
* update react-native-vector-icons
* update babel
* update react-native-shadow-2
* update semver
* remove react-native-svg-transformer and convert svg files to svg components
* fix @mattermost/rnshare new-arch build on android
* remove react-native-create-thumbnail resolution in build.gradle
* create @mattermost/hardware-keyboard library to replace hw-keyboard-events
* fix hardware-keyboard library
* fix rnutils library
* create @mattermost/keyboard-tracker library
* replace react-native-keyboard-tracking-view with @mattermost/keyboard-tracker
* fix: rnutils to not crash on lateinit context
* fix: rnutils delete database
* revert changes to session_manager
* Removed react-native-webview and added expo-web-browser instead
With expo-web-browser we no longer need the webview for SSO login
the SSO login is now done by using "custom Chrome tabs" on Android
and ASWebAuthenticationSession on iOS
* remove patch for react-native-keyboard-tracking-view
* replace react-native-linear-gradient with expo-linear-gradient
* replace react-native-in-app-review with expo-store-review
* fix: shared group database directory on ios
* replace react-native-fast-image with expo-image
* remove unusued type def for react-native-keyboard-tracking-view
* replace react-native-elements and react-native-button with @rneui
* node version
* update sizzling methods
* fix tests using jest-expo
* replace jail-monkey with expo-device
* update babel deps
* update typescript eslint
* update rn and expo
* react-native-document-picker @react-native-camera-roll/camera-roll @react-native-community/datetimepicker react-native-reanimated react-native-safe-area-context
* update patches
* update @sentry/react-native
* upgrade react-native-navigation
* update expo & expo-image
* upgrade to working version of @sentry/react-native
* update node, cocoapods, bundler, fastlane versions
* @testing-library/react-native and eslint-plugin-jest
* fix: FloatingTextInput causing a crash with reanimated
* update sentry, localize, @types/lodash and uuid
* fix floating text input label
* update react-native-video
* fix: cannot calculate shadow efficiently on some components
* fix: reduce motion warning for bottomSheet
* fix: shadow on YouTube component
* update react-native-webrtc expo and @typescript-eslint
* audit fix
* fix swizzling bad merge
* temp use of github dependency for @mattermost libraries
* feedback review
* feedback review
* npm audit fix
* update bundle deps
* update @mattermost/react-native-turbo-log
* update deps
2024-06-19 09:33:45 +08:00
Elias Nahum
e5ce796770
fix android push notifications when app is closed ( #7989 )
2024-06-11 05:15:20 +08:00
Daniel Espino García
c5e6e34fea
Fix MM 56723 ( #7883 )
...
* Fix MM 56723 (iOS)
* Add android
* Android fixes and version checking
* Add version check to ios
* Address feedback
* Add all versions to android
* Check all versions on iOS
* Fix unhandled version case
* Add comments
* Add final version numbers
2024-04-24 17:12:56 +02:00
Elias Nahum
edef4ec4a3
Update libraries and dependencies ( #7678 )
...
* update js dependencies
* update react-native libraries
* update watermelonDB
* update RN to 0.72.7
* update fastlane
* fix remove_markdown/at_mention import
* update mattermost libraries
* update fastlane deps
* remove haptic-feedback patch
* update okhttp to 4.12.0 and patch netinfo to accurately identify VPN connections
* create ImaegStyles intersection type
2023-11-25 07:46:13 +08:00
Christopher Poile
5694ea0744
MM-53924 - Android should use category to allow replies ( #7534 )
2023-09-06 17:19:20 -04:00
Elias Nahum
72f7c639c7
Use network APIClient reactContext if already set ( #7426 )
2023-06-27 10:30:31 -04:00
Elias Nahum
ef2c12e954
Update Dependencies ( #7409 )
...
* dev dependencies
* update deps
* update wdb
* update more deps
* update detox deps
* update logs for database batch
* fix jest setup
2023-06-21 13:40:23 -04:00
Daniel Espino García
e365824567
Native fetch users on attachments ( #7382 )
...
* Native side of fetching users from attachments text and pretext
* iOS native
* Address feedback
2023-06-02 16:25:54 +02:00
Daniel Espino García
c99861d728
Use message source on post edit ( #7325 )
...
* Use message source on post edit
* Fix tests and bugs
2023-05-11 14:18:07 +02:00
Elias Nahum
fe916ec740
Refactor category channels to react to setting changes and apply the correct order ( #7170 )
...
* Refactor category channels to react to setting changes and apply the correct order
* feedback review
2023-03-03 15:53:29 +02:00
Elias Nahum
ee13679f38
Android refactor push notifications to store data or send to JS for processing ( #7127 )
...
* Android refactor push notifications to store data or send to JS for processing
* remove blank line
* rename variable
2023-02-15 17:07:27 +02:00
Elias Nahum
23cbf82353
Use LRU to cache the Avatar shown in push notifications ( #7124 )
...
* iOS switch from file cache to memory cache and use last_picture_update to update the avatar if needed
* Android switch from file cache to memory cache and use last_picture_update to update the avatar if needed, split function to multiple files and catch potential exceptions
2023-02-15 11:19:31 +02:00
Elias Nahum
265b8b2193
Request permissions for Android push notifications and refactor code to use network client ( #7059 )
2023-01-31 21:33:35 +02:00
Elias Nahum
7ed2e73a91
catch exceptions in Android Database helper ( #7027 )
2023-01-27 18:49:31 +02:00
Elias Nahum
9bae53b4ad
Fix crash when dismissing notification on android ( #7029 )
...
* Fix crash when dismissing notification on android
* ensure notification channels are created
2023-01-27 17:55:22 +02:00
Daniel Espino García
2597e06ac2
Add webhook image to notification in missing scenarios ( #6971 )
...
* Add webhook image to notification in missing scenarios
* Improve urlOverride check
2023-01-19 10:53:09 +01:00
Elias Nahum
a058ca57ca
Android Fixes ( #6915 )
...
* Fix android back button handler
* Fix Android crash caused by react native screens
* Prevent Android crash and log stack trace when receiving a push notification
2023-01-02 12:53:08 +02:00
Daniel Espino García
95e3c04658
Fix webhook picture on notifications ( #6894 )
2022-12-23 16:45:27 +02:00
Elias Nahum
6eadc527bb
Gekidou Android share extension ( #6803 )
...
* Refactor app database queries to not require the app database as argument
* Android Share Extension and fix notifications prompt
* feedback review
2022-11-30 23:18:56 +02:00
Elias Nahum
4c389a49fa
Gekidou session expired notification ( #6639 )
...
* Fix crash on Android when session expired notification is presented
* react-native-notification patch for schedule fix on android and open local notification on iOS
* Fix android scheduled session notification crash
* patch react-native-navigation to support blur/focus AppState on Android
* remove schedule session expired notification from login entry point
* schedule session expired notification actions
* add session manager
* Handle open session expired notification
2022-09-18 06:57:55 -04:00
Elias Nahum
c2f5092678
[Gekidou] refactor clean notifications ( #6566 )
2022-08-19 16:29:15 -04:00
Elias Nahum
dcc05956b6
Gekidou upgrade RN to 0.69.3 and dependencies ( #6537 )
...
* module dependencies
* update fastlane
* upgrade types dependencies
* update dev deps
* update react-native-notifications
* update react-native-keychain
* update sentry
* update detox
* Upgrade to RN 69.3
* increase MaxMetaspaceSize gradle opts
* feedback review
2022-08-08 09:06:20 -04:00
Elias Nahum
d09ead850e
[Gekidou] Fix video uploads ( #6440 )
2022-06-30 19:16:37 -04:00
Anurag Shivarathri
306fbba3a7
[Gekidou MM-44135 MM-44134 MM-40088] Group & Clear channel and thread notifications when CRT is on ( #6429 )
...
* Android
* iOS changes
* client changes
* Misc
* Update CustomPushNotification.java
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-06-30 21:26:14 +05:30
Elias Nahum
4a79ae0574
Fix android build
2022-06-29 17:31:01 -04:00
Elias Nahum
75ed884e65
Add column last_fetched_at to MyChannel & Thread tables and the migration ( #6433 )
...
* Add column last_fetched_at to MyChannel & Thread tables and the migration
* Fix schema tests
* Handle lastFetchAt, retrieve threads on init and properly observe thread unreads (#6436 )
* [Gekidou] Set lastFetchAt when fetching posts for a channel (#6437 )
* Set lastFetchAt when fetching posts for a channel
* When resetting _preparedState set always to null
* Revert changes in WS
* Handle and set lastFetchedAt for MyChannel in iOS push notification
* feedback review
* iOS fallback to last post createAt if no lastFetchAt set
* Handle lastFetchAt on Android push notifications
* create storePostsForChannel local action
* Fix iOS fallback to last post create_at
Co-authored-by: Daniel Espino García <larkox@gmail.com>
2022-06-29 13:28:50 -04:00
Anurag Shivarathri
1b5e41b424
[Gekidou MM-40097 MM-44133] Save thread related data when client receives a push notification ( #6275 )
...
* Android changes
* Fixed updating records from native side
* Android: Handle crt related issues
* Android threads fix
* Android misc fixes
* Android addressing feedback
* ios changes WIP
* Update Podfile.lock
* iOS changes
* iOS feedback
* iOS updates the existing record like android
* Android misc
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2022-06-09 16:50:14 +05:30
Elias Nahum
527bd04170
Update dependencies
2022-03-26 20:33:13 -03:00
Elias Nahum
9372bb7c04
[Gekidou] Unique servers ( #5798 )
...
* Disallow the same server from being added the twice
* Add Default Server name config & EMM managed config
* Update android/app/src/main/res/values/strings.xml
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2021-11-03 11:12:52 -03:00
Elias Nahum
790b1beb22
[Gekidou] push notifications ( #5779 )
...
* Push notifications entry point
* Process android notification natively only if RN is not initialized
* Database changes to store local channel viewed_at
* EphemeralStore wait until screen removed
* Move schedule session notification to utility
* Fix channel remote & local actions + added actions for markChannelAsViewed & fetchMyChannel
* Add fetchMyTeam remote action
* Add dismissAllModalsAndPopToScreen to navigation
* Improve post list component & add app state to re-trigger queries
* Improve WS implementation
* Handle push notification events
* Fix postsInChannel since handler
* Handle in-app notifications
* Post list to listen to column changes
* Track selected bottom tab in ephemeral store
* add useIsTablet hook
* in-app notifications on tablets
2021-10-27 17:53:11 -03:00
Miguel Alatzar
6c2e28afc2
[Gekidou] Android - Fetch and store data on push notification receipt ( #5662 )
...
* WIP
* Latest network client
* Init DatabaseHelper and Network
* Add request and query functions
* Fetch posts when push notification is received on Android
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-09-12 15:35:01 -03:00
Elias Nahum
b5c5949b7d
[Gekidou] Update Splash Screen / App icons and Android snooze Push Notifications ( #5658 )
...
* Android push notification snooze
* Android splash & icons
* iOS splash & icons
* Update project assets
* Replace iOS assets using Fastlane
* Remove configure_telemetry_android from Fastlane script
* Update Fastlane with master branch
* Fix Android fastlane build
* replace reference for com.mattermost.rnbeta.* imports
* Set iOS ENTRY_FILE as index.ts
2021-08-31 14:58:09 -04:00
Elias Nahum
8d2bd32897
[Gekidou] Update dependencies ( #5581 )
...
* Update detox deps
* Push notifications (android & launcher)
* Update dependencies
2021-08-01 21:09:19 -04:00
Miguel Alatzar
134c4a49c5
Integrate react-native-network-client ( #5499 )
...
* fix: handle NSMutableData
* feat: integrate react-native-network-client
* fix: typos
* fix: semicolon
* fix: rename to urlVersion
* fix: add returnDataOnly arg
* fix: configure network client
* fix: headers
* fix: handling of serverVersion
* fix: rename requests to actions
* fix: action imports
* fix: no need to stringify body
* fix: sso flow
* fix: address PR feedback
* fix: invalidate client on logout
* fix: address PR feedback take 2
* fix: address PR feedback take 3
* fix: tsc issues
* fix: get csrf token during client creation
* fix: linter
* fix: invalidate client onLogout
* fix: event emitter
* fix: unit tests
* fix: apply linter fixes
* fix lint
* Modify actions to add / update database values
* Rename clien4.d.ts to client.d.ts
* fix empty & missing translations
* cleanup api client
* Cleanup init & squash some TODO's
* Emit certificate errors in NetworkManager
* cleanup user actions
* Fix NetworkManager invalidate client
* Invalidate client when server screen appears
* Update kotlin to 1.4.30 required by network-client
* patch react-native-keychain to remove cached credential
* update react-native-network-client
* Use app.db instead of default.db in native code
* fix use of rnnc on Android
* Init PushNotifications
* No need to reset serverVersion on logout
* fix logout action
* fix deleteServerDatabase
* fix schedule expired session notification
* use safeParseJSON for db json fields
* unsubscribe when database component unmounts
* cleanup init
* session type
* pass launchprops to entire login flow
* Properly remove third party cookies after SSO login
* recreate network client if sso with redirect fails
* add missing launch props from server screen
* use query prefix for database queries
* Add temporary logout function to channel screen
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-07-06 11:16:35 -04:00
Avinash Lingaloo
3ee6e673c8
MM-35115 [Gekidou] Login flow - Email and Password ( #5402 )
...
* MM_35115: ADDED select_server screen
* MM_35115: ADDED select_server screen
* MM_35115: ADDED files on which select_server is dependent
* MM_35115: ADDED react-native-button
* MM_35115: Fixing TS issues [IN PROGRESS]
* MM_35115: Started withObservables [IN PROGRESS]
* MM_35115: Started withObservables [IN PROGRESS]
* MM_35115: withObservables - defaulting when no connection is available [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: withObservables - some code clean up [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Substituting mapDispatchToProps [IN PROGRESS]
* MM_35115: Removed resetPing action [IN PROGRESS]
* MM_35115: ADDED app/client
* MM_35115: Preparing scheduleExpiredNotification
* MM_35115: Adding some todos
* Server & LoginOptions
* Use default server if available and autoconnect if configured
* Fix login header & manual server url
* MM_35115: Login Options[IN PROGRESS]
* MM_35115: Login screen - email [IN PROGRESS]
* MM_35115: Login screen - email [IN PROGRESS]
* MM_35115: Login screen - email - login api call [IN PROGRESS]
* MM_35115: Login screen - email - login api call [IN PROGRESS]
* MM_35115: Login screen - email - saving to server db [IN PROGRESS]
* MM_35115: Login screen - email - saving to System, Preferences to db [IN PROGRESS]
* MM_35115: Login screen - enforcing unique check on System entity [IN PROGRESS]
* MM_35115: Login screen - writing TeamMembership [IN PROGRESS]
* MM_35115: Login screen - writing Teams [IN PROGRESS]
* MM_35115: Login screen [IN PROGRESS]
* MM_35115: Login screen- Refactored DataOperator handlers [IN PROGRESS]
* MM_35115: Login screen - Proper clean up [IN PROGRESS]
* MM_35115: Login screen - completeLogin [IN PROGRESS]
* MM_35115: Improving DataOperator
* MM_35115: Improving DataOperator
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: 80% DONE - login with email and password - some todos
* MM_35115: Removing unused app/queries folder
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Clean up
* MM_35115: Adding roles for MYTEAM
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Adding rn-fetch-blob for Android
* MM_35115: Code clean up
* MM_35115: Code clean up
* MM_35115: Added test setup
* MM_35115: Fix database utils
* MM_35115: ADDED loadRolesIfNeeded
* MM_35115: Fix TS issue
* MM_35115: ADDED Tests setup
* MM_35115: Fix TS issues
* MM_35115: Fix TS issues
* MM_35115: Fix TS issues
* MM_35115: Added alternative to site name
* MM_35115: Added alternative to site name
* MM_35115: Removed hardcoded values
* MM_35115: Clean up
* MM_35115 - Fixed Android platform check instead of hermes
* MM_35115 - Replaced emptyErrorHandlingFunction with emptyFunction
* MM_35115 : Implemented TS fixes
* Update index.ts
* MM-35115 - Fix react-test-renderer issue
* MM_35115 - Optimizing DatabaseManager
* MM_35115 : Implemented getDatabaseConnection
* MM_35115 : Refactoring set/getActiveDatabase to use flag record
* MM_35115 : Refactored active database to use flag in Global entity
* MM_35115 : Updated manual database manager test
* MM_35115 : Fix operator/utils/test
* MM_35115 : Fix for base_handler
* MM_35115 : Fix test issues with Handlers
* MM_35115 : Fix test issues with prepareRecords
* MM_35115 : Fix wrapper test issue
* MM_35115 : Updated getMostRecentServerConnection to return the serverUrl as well as the connection
* MM_35115 : Refactored the way we call DataOperator
* MM_35115 : Updated database manager mock
* Add getMostRecentServerUrl function (#5440 )
* fix: add getMostRecentServerUrl func
* fix: add ts and tsx to editorconfig
* fix: rename functions
* fix: return type
* Fix unit test setup
* fix login screen unit tests
* MM-36205 [GEKIDOU] Login Flow SSO (#5454 )
* MM_35115: Starting LoginOptions SSO
* MM_36205: SSO [IN PROGRESS]
* MM_36205 : SSO [ IN PROGRESS ]
* Update sso_with_redirect_url.tsx
* MM_36205 : SSO Tests [ IN PROGRESS ]
* MM_36205 : Passing serverUrl to SSO screen
* Update sso.test.tsx
* Fix ViewTypes imports and keyMirror method
* MM_36205 : Code clean up
* Fix : Clean up imports
* Update: Aligning with PR 5452
* Fix: AndroidManifest file to include redirection ofr scheme mmauthbeta
* refactor: SSO Login method via Gitlab now navigates to Channel screen
* refactor: SSO Login without redirectURL is also working
* feat: SSO - main test completed
* feat: ADDED test for sso_with_redirect_url
* fix : eslint correction
* fix: Updated Loading component name
* fix : code clean up from reviews
* fix: reviews check
* fix: Added mmauthbeta into info.plist
* Revert "fix: Added mmauthbeta into info.plist"
This reverts commit d87cc23f5b451a49d9ffa9de4745224b7ecfc977.
* Update Info.plist
* Update AppDelegate.m
* feat: ADDED Forgot Password - Test [ IN PROGRESS ]
* feat: Forgot Password - Completed & Tested
* fix: Including MFA screen [ IN PROGRESS ]
* MFA - Properly tested
* Properly testing forgot_password screen
* Fix login.test.tsx
* Fix SSO method calls chain
* Update index.tsx
* Sort imports for sceen/navigation
* fix: Reviews
* Update signing + act in test
* Removed todo comment on MFA
* feedback review
* fix login tests
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* App initialization refactor (#5430 )
* fix: initial init refactor
* fix: await isServerPresent
* fix: more refactor
* fix: move out launch functions
* fix: remove comment
* fix: update credential functions
* fix: refactor launch functions
* fix: deep link parsing
* fix: lint change
* fix: update deeplink and notification handlers
* fix: indentation
* fix: add relaunchApp
* fix eslint
* refactor launchProps and autoconnect server for deeplink
* fix: use undefined
* fix: define OptionalLaunchProps
* fix: Android - handle server URL in push notification
* fix: rename func
* fix: use boolean launchError instead
* fix: use DatabaseModule
* fix: use DatabaseHelper instead
* fix: remove unnecessary null check
* fix: iOS - support for serverUrl
* fix: iOS - extract serverUrl in reply action
* fix: iOS - expose objc specific func
* fix: remove unnecessary deviceToken param
* fix: return if device is untrusted
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* fix: bye bye modulePaths
* fix: ios build
* chore: remove unused aliases from babel.config
* chore: fix dependency format in package-lock.json
* chore: remove transparent window background color for android AppTheme
* chore: remove mattermost.js and use index.ts as app entry
* fix: login flow screens theme
* fix: Launch types
* chore: remove OptionalLaunchProps type
* fix: url utils unit tests
* chore: update en.json
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2021-06-18 00:57:40 -04:00
Elias Nahum
c25b5ab9aa
Fix android build
2021-04-20 11:56:35 -04:00
Elias Nahum
9a4a93a1a5
Update v2 dependencies ( #5312 )
2021-04-14 10:55:29 -04:00
Elias Nahum
62e1003f10
[V2] MM-33495 Sanitize filename in Android ShareExtension ( #5211 )
...
* [V2] MM-33495 Sanitize filename in Android ShareExtension
* Apply sanitization after getting uri last path segment
2021-03-09 11:53:53 -03:00
Elias Nahum
22e82dfc2a
Barebones code for v2
2020-11-17 14:20:58 -03:00