* chore: updating mmkv library
* feat: updating android ejson to use the getSecureKey new version
* feat: updating IOS files to use the getSecureKey new version
* feat: changing all mmkv methods to use sync calls
* feat: changing mmkv methods from Screen lock
* feat: changing all mmkv methods from login, ssl certificate and change/add server
* feat: changing all mmkv methods from login, ssl certificate and change/add server
* feat: changing all mmkv methods from logout
* feat: changing all mmkv methods from e2e
* fix: small fix at encryption and server drop down
* feat: changing all mmkv methods from set theme
* feat: changing all mmkv methods from openLink
* fix: setting up mmkv to works property on Android
* fix: fix an error to set the theme when open the app
* refactor: change the react-native branch (temporary)
* refactor: removing all `Async` from mmkv functions name
* refactor: removing await from unnecessary functions, removing console.log and update cocoapods
* refactor: removing unnecessary undefined from methods
* feat: creating a custom hook for mmkv
* refactor: changing the fetchPasscode to use the useUserPreferences hook
* refactor: changing setTheme from app/index
* refactor: small fix on setTheme
* chore: update mmkv to 0.6.11
* chore: update mmkv to 0.6.11
* chore: minor tweak
* chore: update mmkv to 0.6.12
* chore: mock NativeModules
* chore: fix test mmkv
* chore: removing custom MMKV JSI module, since is no more necessary after 0.6.11 version
* feat: removing some async calls from mmkv after update from develop
* feat: creating a function to get the initialTheme
* feat: removing unnecessary try/catch
* fix: fixing the blink white when open the app
* feat: changing useMMKVStorage to create from mmkv lib
* test: creating a mock for mmkv create function
* chore: fix errors on tablet
* minor tweak
* chore: migrate activeUsers reducer and action to TS
* chore: init types folder and set redux and BaseScreen interface
* chore: remove mapDispatchToProps to use dispatch prop and clear some types
* chore: type selectedUsers action and reducer and improvement in the code of other files
* chore: move IUser to base types
* chore: move state props to ISelectedUsersViewProps
* chore: create mocketStore
* chore: remove applyAppStateMiddleware
* test: create activeUser and selectedUser tests
* test: add more selectedUsers tests
* chore: fix action type
* chore: move types to definition folder and fix imports
* chore: remove unused const
* chore: migrate redux tests to reducer folder and add eslint jest plugin
* chore: exprot initial state and then import on tests
* chore: move interfaces to reducer and import on screen
* chore: set eslint-plugin-jest version to 24.7.0
* chore: fix IUser import
* chore: update interfaces and types names
* chore: update definitions
* chore: update IBaseScreen definitions
* chore: init reducer/app migration to ts
* chore: add tests and migrate RootEnum
* wip: migrate fixed consts to RootEnum
* chore: remove redux action inferences
* fix types
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* Deleted redux actions for bugsnag and analytics, in addition fixed to eon/off reports for both
* Removed console.log
* minor tweak
* Enable and disable crashlytics and remove breadcrumb from bugsnag
* minor tweaks with the names of the variables
* minor tweak
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* Update non-dev patches
* Update dev patches
* Update minors
* Update dev minors
* Update few non semver
* Cookies
* datepicker, netinfo, base64 and bootsplash
* Patch cookies
* Update navigation
* Device info
* mocha
* localize
* react-native-picker-select
* vector icons, xregexp, popover
* try save husky
* document picker
* Remove emotion dev
* Downgrade some libs and make sure jest is passing
* Update storybook to stable
* mocha, axios, bootsplash
* Update lint job to node 15
* install react-native-mmkv-storage
* wip ios migration
* change all js rn-user-defaults -> react-native-mmkv-storage
* remove all rn-user-defaults native references (iOS)
* android migration from rn-user-defaults to react-native-mmkv-storage
* ios app group accessible mmkv
* handle get errors
* remove access of credentials from legacy native apps
* remove data of user defaults
* remove no longer necessary import
* js mmkv encryption
* run migration only once
* reply from notification android
* fix app group key access at native level ios
* encrypt user credentials using a specific key
* ios encrypt with random key
* use a random key at the first encryption
* encrypt migrated data on js land
* remove unused function
* reply notifications ios should be working
* use fix instanceID
* android ejson retrieve encrypted data
* remove encryption migrated data for a while
* encryption working between app and share extension
* fix patch react-native-notifications
* ssl pinning working using mmkv encrypted data
* improve react-native-notifications
* run encrypt migration data only once
* fix build
* fix patches magic string
* fix mmkv id
* mmkv -> userPreferences
* fix instance id on android migration
* cast our oldest sharedPreferences string into an object
* revert log remove
* create currentServer Rocket.Chat key
* wrap mmkv api class
* change the get logic
* move userPreferences to lib
* move encrypt migrated data to userPreferences class
* check if the new object is new before insert
* invalidate ci yarn cache
* fix sort migration from android shared preferences
* fix splashscreen forever
* invalidate yarn cache
* invalidate yarn cache
* fix patch
* Minor change
* fix android notifications looking for wrong mmkv instance
* Fix some issues on iOS mmkv native access
* Remove unnecessary code
* Fix notification reply and ssl pinning
* WIP NotificationService use MMKV credentials
* Add KeychainGroup
* Notification idOnly get credentials from mmkv
* Some fixes
* Invalidate yarn cache
* Pods
* Use MMKVAppExtension on NotificationService
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* Update expo libs
* Configure expo-local-authentication
* ScreenLockedView
* Authenticate server change
* Auth on app resume
* localAuthentication util
* Add servers.lastLocalAuthenticatedSession column
* Save last session date on background
* Use our own version of app state redux
* Fix libs
* Remove inactive
* ScreenLockConfigView
* Apply on saved data
* Auto lock option label
* Starting passcode
* Basic passcode flow working
* Change passcode
* Check if biometry is enrolled
* Use fork
* Migration
* Patch expo-local-authentication
* Use async storage
* Styling
* Timer
* Refactor
* Lock orientation portrait when not on tablet
* share extension
* Deep linking
* Share extension
* Refactoring passcode
* use state
* Stash
* Refactor
* Change passcode
* Animate dots on error
* Matching passcodes
* Shake
* Remove lib
* Delete button
* Fade animation on modal
* Refactoring
* ItemInfo
* I18n
* I18n
* Remove unnecessary prop
* Save biometry column
* Raise time to lock to 30 seconds
* Vibrate on wrong confirmation passcode
* Reset attempts and save last authentication on local passcode confirmation
* Remove inline style
* Save last auth
* Fix header blink
* Change function name
* Fix android modal
* Fix vibration permission
* PasscodeEnter calls biometry
* Passcode on the state
* Biometry button on PasscodeEnter
* Show whole passcode
* Secure passcode
* Save passcode with promise to prevent empty passcodes and immediately lock
* Patch expo-local-authentication
* I18n
* Fix biometry being called every time
* Blur screen on app inactive
* Revert "Blur screen on app inactive"
This reverts commit a4ce812934adcf6cf87eb1a92aec9283e2f26753.
* Remove immediately because of how Activities work on Android
* Pods
* New layout
* stash
* Layout refactored
* Fix icons
* Force set passcode from server
* Lint
* Improve permission message
* Forced passcode subtitle
* Disable based on admin's choice
* Require local authentication on login success
* Refactor
* Update tests
* Update react-native-device-info to fix notch
* Lint
* Fix modal
* Fix icons
* Fix min auto lock time
* Review
* keep enabled on mobile
* fix forced by admin when enable unlock with passcode
* use DEFAULT_AUTO_LOCK when manual enable screenLock
* fix check has passcode
* request biometry on first password
* reset auto time lock when disabled on server
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
<!-- INSTRUCTION: Keep the line below to notify all core developers about this new PR -->
@RocketChat/ReactNative
<!-- INSTRUCTION: Inform the issue number that this PR closes, or remove the line below -->
<!-- INSTRUCTION: Tell us more about your PR with screen shots if you can -->
- [x] Added FlatList.getItemLayout() to improve list render time
- [x] Some texts were breaking lines at sidebar
- [x] Removed onPress from links at RoomsListView
- [x] Added eslint rule to prevent unused styles
- [x] Fixed auto focus bug at CreateChannel and NewServer
- [x] Fix change server bug
- [x] Fixed a bug when resuming in ListServer
- [x] I18n fixed
- [x] Fixed a bug on actionsheet ref not being created
- [x] Reply wasn't showing on Android
- [x] Use Notification.Builder.setColor/getColor only after Android SDK 23
- [x] Listen to app state only when inside app
- [x] Switched register push token position in order to improve login performance
- [x] When deep link changes server, it doesn't refresh rooms list
- [x] Added SafeAreaView in all views to improve iPhone X experience
- [x] Subpath regex #388
<!-- INSTRUCTION: Keep the line below to notify all core developers about this new PR -->
@RocketChat/ReactNative
<!-- INSTRUCTION: Inform the issue number that this PR closes, or remove the line below -->
Closes#342
<!-- INSTRUCTION: Tell us more about your PR with screen shots if you can -->
* Drawer layout
* Drawer changes
* Profile
* Profile avatar
* Set language
* Tests
* Custom fields
* Readme updated
* fix invalid user muted value
* Fix for "Cannot add a child that doesn't have a YogaNode to a parent without a measure function! (Trying to add a 'RCTVirtualText' to a 'RCTView')"
* Fix - Any https link was deep linking to RocketChat
* Keyboard dismiss after add new server
* Room info bug fix
* Opacity animation
* Navigation when adding server fixed
* Throttle for unnecessary render on receiving several messages
* Search inputs without autocorrect and autocapitalize
* Search messages fixed
* Messagebox unnecessary render and spotlight fixed
* react-native-keyboard-input updated
* - Block user
- Load room members async
- fixed reactive change of room's read only flag
* Snippet messages
* - Room files
- Dismiss Video component on back button press
- Improvements on Image component
* Improvement on Video component
* Leave room
* Missing message types
* lint
* - Room info (read only)
- Missing message types
* Room info scroll
* - Tap on room header opens room info
- Layout tweaks
* - Room info edit
- iOS Toast fixed
* - Style not implemented actions as disabled
* Edit room permission
* - Save all room settings in a single call
- Implemented roomType and readOnly
* - Allow reacting when room is read only
* Message type added: room_changed_privacy
* Erase room
* Created TextInput and SwitchContainer components for reuse and readability
* - hasPermission method
* - Archive/Unarchive room
- Set Join Code
* Twitter keyboard type on iOS
* Archived room
* reactWhenReadOnly permission on message
* Active users refactored
* User roles
* - Subscribe to roles (in order to get role description info: e.g. 'core-team' to 'Rocket.Chat Team')
- Save roles to realm (for offline access)
- Save roles to redux (and get data from realm on app init)
* Lint
* code style
* Changed navigation library to react-navigation.
Refactoring on sagas to remove navigation navigation flow do it in views.
Added new modal library.
Renamed view files to the same name of their classes.
Added support to redux-devtools using the chrome extension through Remote devtools menu.
Some components was refactored to reduce complexity and more legibility.
* Remove react-native-navigation from Android
* Adding servers to drawer menu, allowing server switch.
* Sidebar component
* opss :x fix add server
* opss :x fix add server
* Fixed add server navigation issues, fixed empty and slow Rooms List and Chat Messages
* Disable cleanup everytime
* some fixes
* some fixes
* fix?
* .
* Fixed logo not displaying when app is loading or signing to server
* Fixed logo in loading and login
* Update LoginView.js
* Update PublicRoutes.js