Matthew Birtch
4ba3099d69
MM-62240 illustration updates ( #9308 )
...
* update onboarding illustrations and background
* update forgot password illustration
* updated mfa illustration
* updated text style on forgot password
* Update background.tsx
* optimize background svg
2025-12-05 08:31:59 -05:00
Daniel Espino García
3efc301da5
Add Floating Label Autocomplete Selector ( #9119 )
...
* Add Floating Label Autocomplete Selector
* Address feedback
* Revert unintended change
* Move database connection to index file
2025-10-01 13:31:16 +02:00
Daniel Espino García
0c4a42a06a
Remove tand prevent double tap ( #9078 )
...
* Remove the t function and all wrong uses of preventDoubleTap
* Fix existing typo
* Fix tests
* Address comments
* Fix test
2025-08-25 12:03:01 +02:00
Lucas Reis
d38bf60050
Disable Animations when Accessibility configuration is to remove it ( #8743 )
...
* feat: add support for reduced motion in BottomSheet and TabBar components
* fix: remove reduceMotion option from animation timing in login, onboarding, and server screens
* feat: integrate reduced motion support to the entire app and switch accordingly
* feat: positions the Login screen differently if animations are disabled
* fix: remove mock implementation of useReducedMotion in react-native-reanimated
* revert login screen
* fix: remove unused effect that resets translateX value in LoginOptions
* feat: add reduced motion support to ForgotPassword screen and reset translateX on LoginOptions mount
* feat: integrate reduced motion support in Onboarding and Slide components
* feat: add reduced motion support to MFA and SSO screens
* feat: update ReducedMotionConfig to use system preference in withServerDatabase
* refactor: remove ReducedMotionConfig from withServerDatabase component
* feat: remove reduced motion configuration from screens and adjust animations accordingly
* feat: integrate reduced motion handling in Server component animations
* feat: enhance BottomSheet animation with reduced motion support and update test setup for react-native-reanimated
* fix: update channel list row snapshots with collapsable and animated props
* test: update react-native-reanimated mock setup for improved testing
* fix: enhance react-native-reanimated mock to support reduced motion and prevent default call
* fix: refactor animationConfigs to use useMemo for improved performance and clarity
* feat: implement screen transition animation hook and integrate it into ForgotPassword screen
* fix: refactor LoginOptions to utilize useScreenTransitionAnimation for improved animation handling
* refactor: streamline MFA component by removing unused imports and integrating useScreenTransitionAnimation for enhanced transitions
* refactor: simplify Onboarding component by removing unused imports and integrating useScreenTransitionAnimation for smoother transitions
* refactor: enhance useScreenTransitionAnimation hook to support animated transitions and integrate it into Server component
* refactor: replace custom animation logic with useScreenTransitionAnimation in SSO component for improved transition handling
2025-06-26 11:25:48 +02:00
Daniel Espino García
2ad6fec90f
Unify buttons ( #8865 )
...
* Unity buttons
* Fix texts and use defineMessages
* Update snapshots
* Fix disabled style
2025-05-30 15:59:15 +02:00
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
37fd1609c7
fix screen position for server / login / forgot password & mfa ( #8340 )
...
* fix screen position for server / login / forgot password & mfa
* refactor to use a hook
* fix scroll to offset not to height
* feedback review
2024-11-19 08:36:47 +08:00
Elias Nahum
0b83938d3c
update dependencies ( #8131 )
...
* update project depdendencies
* update detox dependencies
* update fastlane
* remove silencing console
2024-08-12 09:15:49 +03:00
Elias Nahum
10135091d1
Fix button ui when disabled ( #8056 )
2024-07-09 07:12: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
Daniel Espino García
9b2c68985a
Fix all references to mention color on "login" screens ( #7364 )
...
* Fix all references to mention color on "login" screens
* Add missing change
2023-05-25 10:51:07 +02:00
Sudhanva-Nadiger
4416a61a77
fix: reset password bug ( #7135 )
...
* fix: reset password bug
* add suggested changes
2023-02-16 12:09:12 +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
Daniel Espino García
28526034d4
Refactor makeStylesFromTheme to use the correct types ( #6801 )
...
* Refactor makeStylesFromTheme to use the correct types
* Address feedback
2022-12-12 10:53:54 +01:00
Elias Nahum
a61d65eb09
[Gekidou] pinned posts ( #6336 )
...
* Pinned messages
* Move isCRTEnabled query to be called earlier and only once
* Update Channel stats when post is (un)pinned
* Create svg module type definition
* Add missing localization strings
* feedback review
2022-06-03 09:27:45 -04:00
Daniel Espino García
8f10d1ee96
Remove ts-expect-error regarding legacy refs ( #6317 )
2022-05-31 07:42:34 +02:00
Elias Nahum
442159ab78
Fix navigation
2021-12-14 11:45:12 +02:00
Jason Frerich
520a28962b
[Gekidou] MM-39736 Login Flow ( #5799 )
2021-11-18 22:07:41 +01:00
Elias Nahum
0807a20946
fixed OpenSans, added Metropolis fonts & modified post text styles ( #5728 )
2021-10-07 17:20:39 -03:00
Elias Nahum
4e0688aef5
[Gekidou] update dependencies ( #5691 )
2021-09-23 14:44:50 -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
Avinash Lingaloo
2c193f2133
[GEKIDOU] Bottom Tab Navigation ( #5600 )
...
* Started with bottom tabs layout
* code clean up
* Added animation to bottom tab bar
* returns null if not focused
* code clean up
* Updating layout
* Updated modal screen
* Updated animation
* Updated animation
* Fix SafeArea on Home
* A few clean ups
* code clean up
* Fix issue with navigation on Android
* Use React Navigation in combination of RNN & create bottom tab bar
* Set tab bar line separator height to 0.5
* Fix snapshot tests
* Add home tab mention badge
* Apply new themes
* Home Tab badge
* Remove unused constants
Co-authored-by: Avinash Lingaloo <>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-08-31 14:58:53 -04:00
Elias Nahum
c452ef8038
[Gekidou] Login entry point ( #5568 )
...
* Login entry point
* feedback review
* sort imports
* Fix model relations
* Handle when no current team or current channel has been selected
* Fix MFA unit test
* update prepareCommonSystemValues arguments
2021-07-26 12:03:43 +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