* 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
* 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
* Update android image to api 29 and xcode to 12.4
* building
* Fix lint
* Get rid of Storybooks errors
* Patch react-native-simple-crypto
* Remove pods from git
* Stash simple crypto
* Stash Flipper
* Remove single crypto patch
* Add manage-pods command
* Update Xcode to 12.5.0
* Fix E2E tests
* Cleanup podfile
* Fix Storybook
* Remove RN patch
* Fix iOS build release
* Fix cocoapods cache on CI
* Try to fix pods using bundle
* Update gems
* Add app_store_connect_api_key env to CI
* APP_STORE_CONNECT_API_KEY -> APP_STORE_CONNECT_API_BASE64
* Rollback to older usage of app_store_connect_api_key
* tmp
* Run manage-pods on TestFlight
* Use Podfile instead of Podfile.lock for cache
* Increase no_output_timeout from 20 minutes to 40
* Restore node modules on upload-to-testflight
* Add pod install to docs
* 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
* [FIX] Android - fallback to default auth challenge handling when no cert is provided
* If a certificate auth challenge is requested on Android the webview will hang if no certificate is loaded.
To prevent this, fallback to default Android behavior and cancel the challenge with request.cancel()
* No client certificate case defaults to super implementation
* Update react-native-webview
* Downgrade to previous dependency version
Co-authored-by: Diego Mello <diegolmello@gmail.com>
Co-authored-by: Gerzon Z <gerzonc@icloud.com>
Co-authored-by: Jan Garaj <jan.garaj@gmail.com>
* fix: filename on react-native-image-crop-picker
* fix: use rn-fetch-blob to upload files
* fix: FileUpload as a service
* fix: cancel upload on iOS
* fix: file upload from share extension
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* wip: Android SSL Pinning
* Use own SSLPinningModule
* wip: Use Rocket.Chat own react-native
* wip: Fresco Images using custom OkHttpClient
* wip: react-native-webview onReceivedClientCertRequest
* feat: Save Images of a SSL Pinning protected server
* chore: SSLPinning package as a interface to iOS & Android implementations
* chore: update glide
* feat: load images under a client ssl certificate protected server
* chore: remove patch
* feat: Audio & Video under a SSL Client protected server
* fix: Unpin certificate when change server
* feat: Fast Image as a patch
* chore: update fast-image
* Fix merge
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* [FIX] F-Droid build for store
* Trying to make Override custom push notifications on play build only
* Use play sourceSets
* Change version code
* Fix react-native-config-reader
* [FIX] F-Droid build for store
* Trying to make Override custom push notifications on play build only
* Use play sourceSets
* Change version code
* Fix react-native-config-reader
* Remove react-native-device-info Google dependencies / Use LIBRE_BUILD of react-native-jitsi-meet
* Invalidate CI Cache
* Set specific jitsi-meet-sdk
* Specify 2.10.0-libre
* jitsi-meet using an url based on play build
* update react-native-jitsi-meet
* react-native-device-info foss
* undo some unnecessary changes
* Fix notifications
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
* 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>
* [WIP] Notification Service
* [WIP] Android push notification privacy
* [WIP] Retry request when it fails (iOS)
* [WIP] Override notification bundle
* [CHORE] Remove unnecessary import
* [WIP] Check notification Type (iOS)
* [WIP] Change to notification endpoint
* eof
* fix unwrap conditional value
* turn run request synchronous
* fix bundle info
* eof
* remove extra tab
* undo unnecessary change
* remove not working code for a while
* fix notification title
* change endpoint and received/sent data
* message-id-only working properly on android
* notification privacy working on ios
* invalidate circleCI yarn cache
* Fix provisioning profiles
* fix notification service version
* fix unwrap nil
* compatibility older servers android
* show received notification when cant fetch content from server
* undo some android changes
* prevent group & reply fallback notifications
* dont show more than one fallback notification by server
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 a4ce812934.
* 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>
* [IMPROVEMENT] Change server while connecting
* [FIX] Not login/reconnect to previous server
* [FIX] Abort all fetch while connecting
* [FIX] Abort sdk fetch
* [FIX] Patch-package
* Add comments
Co-authored-by: Diego Mello <diegolmello@gmail.com>