Elias Nahum
a5a1e53827
Biometric prompt, Jailbreak / Root detection and screenshot prevention ( #8645 )
...
* Handle biometric authentication
* jailbreak/root detection and biometric small fixes
* remove server from initializeSecurityManager and fix loginEntry
* Add screen capture prevention and other small fixes
* added unit tests to SecurityManager
* added shielded nativeID to protect views
* use MobilePreventScreenCapture instead of MobileAllowScreenshots in config type definition
* Apply Swizzle for screen capture on iOS
* Apply patch to bottom sheet to prevent screen captures
* fix ios sendReply
* Fix SDWebImage swizzle to use the correct session
* Fix potential crash on Android when using hardware keyboard
* rename patch for network library to remove warning
* add temp emm reference
* fix initializeSecurityManager tests
* fix translations
* use siteName for jailbreak detection when connecting to a new server
* fix i18n typo
* do not query the entire config from the db only the required fields
* migrate manage_apps to use defineMessages
* use TestHelper.wait in tests
* use defineMessages for security manager
* fix missing else statement for gm_to_channel
* created a TestHelper function to mockQuery and replace as jest.Mock with jest.mocked
* fix unit tests
* fix unit tests (again) and include setting the test environment to UTC
* Fix keyboard disappearing on iOS
* update react-native-emm
2025-03-13 14:07:41 -04:00
Elias Nahum
2f3dfbbbfa
Update dependencies and upgrade to RN 0.76.5 ( #8421 )
...
* update dev deps
* partial update dependencies
* update watermelondb
* update rn to 0.76.5, expo to 52.0.18 and others
* upgrade android firebase
* upgrade detox deps
* fix package-lock.json
* update emm and paste-input
* update turbo-log
* update network library
* fix tests
* review feedback
* fix Keyboard blocking signIn button
* Fall back to iphone 14 iOS 17.2 simulator as app crashes on iOS 17.4
* changes in deleteCredentialsForServer is causing a crash
* withOptions x2 clearly is wrong
* re-add cli-platform-apple fix
* fix: RN 0.76.5 issue with bottom sheet disappearing (#8478 )
* experiment, using view vs BottomSheetView
* revert previous & try disabling enableDynamicSizing
* revert an unintended removal
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Rahim Rahman <rahim.rahman@mattermost.com>
2025-01-16 07:11:32 -07:00
Daniel Espino García
bc8a42b161
Native set load measured ( #8242 )
...
* Track notification loaded on native side instead of JS
* iOS details and iOS 18 changes
* Fix tests
2024-10-14 16:07:06 +02:00
Elias Nahum
a2dca382c7
add unit tests to app/utils/notification ( #8140 )
2024-08-29 00:04:12 +08:00
Elias Nahum
e7fe7c23ff
add unit tests to utils/gallery ( #8117 )
2024-08-06 13:17:36 +03:00
Elias Nahum
4048b70713
fix cannot read data when opening a deeplink ( #8109 )
2024-07-27 03:37:57 +08:00
Elias Nahum
a7224479d5
added utils unit tests ( #8040 )
2024-07-05 07:17:09 +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
dddd09aa9b
Add unit tests to utils config, datetime, error_handling, errors and files ( #8018 )
2024-06-15 01:29:03 +08:00
Daniel Espino García
5f01f9e9af
Add performance metrics to the app ( #7953 )
...
* Add performance metrics to the app
* add batcher and improve handling
* Add tests
* Fix test
* Address feedback
* Address feedback
* Address feedback
* update podfile
2024-06-12 09:45:27 +02:00
Daniel Espino García
b966e1f356
Fix priority footer on tablets ( #7966 )
2024-06-10 17:08:53 +02:00
Elias Nahum
de57c343f0
MM-55621 fix layout for tablets and foldables ( #7697 )
...
* MM-55621 fix layout for tablets and foldables
* feedback review
2023-12-05 11:08:43 +08: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
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
Elias Nahum
784b05fe97
Upgrade Dependencies ( #7299 )
...
* upgrade reanimated
* update devDependencies
* upgrade react-intl
* update react-native and some dependencies
* update react-native-permissions
* update RN
* use Share sheet for Report a problem
* update Sentry
* remove step to downloadWebRTC
* update detox deps
* feedback review
2023-04-21 12:16:54 -04:00
Elias Nahum
c1fbaffd3e
Support for Android Tablets & Foldable ( #7025 )
...
* Add Support for Android tablets & foldables
* add tablet and book posture
* Regenerate disposed observable on WindowInfoTracker
2023-01-26 20:31:18 +02:00
Elias Nahum
7aa5bd0611
Update Dependencies and bug fixes ( #7000 )
...
* update dependencies
* update dependencies
* feedback review
* update @mattermost/react-native-turbo-mailer
2023-01-24 09:14:23 +02:00
Elias Nahum
b28e21a272
standardize user-agent ( #6866 )
2022-12-15 14:15:16 +02:00
Elias Nahum
ae0eb43793
[Gekidou] EMM fixes ( #6730 )
2022-11-08 22:49:39 +02:00
Christopher Poile
8374d7e87f
MM-47004 - Calls: Client-side errors for microphone permissions ( #6669 )
...
* call error bar for microphone permissions; global permissions state
* i18n
* refactor permissionErrorBar component, PR comments
* add module dependency's mocks for tests
* fix error bar height
* change permissions error text
* working on 46999 redo audio handling -- will revert
* Revert "working on 46999 redo audio handling -- will revert"
This reverts commit 87bafc452c6ad6e1d7ae79ce78a0f2b461c2f150.
* only get voice track when we have mic permissions
* Android: enable mic when permissions are granted
2022-11-08 10:52:52 -05: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
Daniel Espino García
9d71cc3ac6
Substitue rn-device-info by rn-user-agent when fetching the user agent ( #6536 )
2022-08-03 15:16:56 +02:00
Elias Nahum
136b796ac3
Fix theming and navigation stack tracking ( #6443 )
2022-06-30 11:14:07 -04:00
Elias Nahum
bb3a3112b1
[Gekidou] Show login screen when selecting a previous server ( #6190 )
...
* Show login screen when selecting a previous server
* Update app/screens/home/channel_list/servers/servers_list/server_item/server_item.tsx
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
Co-authored-by: Jason Frerich <jason.frerich@mattermost.com>
2022-04-25 13:26:31 -04:00
Elias Nahum
b530dbeb09
[Gekidou] upgrade to RN 68 (old arch) ( #6138 )
...
* upgrade to RN 68 (old arch)
* remove test setup unused & commented mock
* Android target set to 30
* Fix theme when opening app from push notification
* upgrade common mark
2022-04-08 12:40:44 -04:00
Elias Nahum
527bd04170
Update dependencies
2022-03-26 20:33:13 -03:00
Suneet Srivastava
03d5ac083c
MM-39716: Added + button bottomsheet layout ( #5957 )
...
* [gekidou] feat: MM-39716 Added + Button Bottom sheet layout
* feat: Added on click to the channel header listener
* chore: Ran i18n command and did the requested changes
* chore: updated test snapshot
* Refactor PlusMenu & fix Browse Channels
* Fix snapshot tests
* feedback review
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2022-02-16 14:17:57 +01:00
Jason Frerich
520a28962b
[Gekidou] MM-39736 Login Flow ( #5799 )
2021-11-18 22:07:41 +01:00
Elias Nahum
880cfbb7ac
Upgrade unimodules with expo to use expo-file-system
2021-11-06 18:08:22 -03:00
Elias Nahum
39982a4280
Gekidou deps ( #5815 )
...
* upgrade dependencies
* async-storage upgrade
2021-11-06 16:24:53 -03:00
Elias Nahum
3bbcf2d358
[Gekidou] Update deps ( #5772 )
2021-10-19 17:19:48 -03:00
Daniel Espino García
1c26f14fdb
Add import order lint rules ( #5672 )
...
* Add import order lint rules
* Address feedback
* Revert change
2021-09-13 10:18:03 +02:00
Elias Nahum
c64277bdbf
Gekidou Update deps ( #5530 )
2021-07-11 07:52:44 -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
Elias Nahum
17e832e689
[Gekidou] Refactor storage layer ( #5471 )
...
* Refactored storage layer - in progress
* Refactored DatabaseManager & Operators
* Renamed isRecordAppEqualToRaw to isRecordInfoEqualToRaw
* Review feedback
* Update app/database/models/app/info.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/database/models/server/my_team.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
2021-06-21 17:06:18 -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
Avinash Lingaloo
3e8c275486
MM_30476 [v2] Added all isolated tables from the server schema ( #5070 )
...
* MM_30476 : Added all isolated tables from the server schema
* MM_30476 : Updated 'test' script in package.json
* MM_30476 : Rename table schemas to avoid name collision
* MM_30476 : ADDED @babel/plugin-tranform-flow-strip-types
* MM_30476 : ADDED test for default schema
* MM_30476 : ADDED tests to server schema
* MM_30476 : ADDED tests for models and schema
* MM_30476 : ADDED tests for models and schema
* MM_30476 : Removed the tests on the models.
2021-01-07 13:48:23 +04:00