* 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>
* [FIX] Storybook not able to import Avatar
* Fix lint
* Mock Date.now
* Fix RU translation
* isLegacy -> serverVersion
* Remove change avatar from room info edit for servers below 3.6
* Mock for storyshots only
* lint
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* [WIP] Avatar cache invalidation
* [WIP] Avatar container
* [IMPROVEMENT] Avatar container
* [CHORE] Improve code
* Allow static image on Avatar
* Fix avatar changing while change username (#1583)
Co-authored-by: Prateek93a <prateek93a@gmail.com>
* Add default props to properly update on Sidebar and ProfileView
* Fix subscribing on the wrong moment
* Storyshots update
* RoomItem using Avatar Component
* use iife to unsubscribe from user
* Use component on avatar container
* RoomItem as a React.Component
* Move servers models to servers folder
* Avatar -> AvatarContainer
* Users indexed fields
* Initialize author and check if u is present
* Not was found -> User not found (turn comments more relevant)
* RoomItemInner -> Wrapper
* Revert Avatar Touchable logic
* Revert responsability of LeftButton on Tablet Mode
* Prevent setState on constructor
* Run avatarURL only when its not static
* Add streams RC Version
* Move entire add user logic to result.success
* Reorder init on RoomItem
* onPress as a class function
* Fix roomItem using same username
* Add avatar Stories
* Fix pick an image from gallery on ProfileView
* Format Avatar URL to use RoomId.
Co-authored-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* edit room avatar
* invalidate cache of room images
* reinit avatar if something change
* read avatar cache on search
* room avatar changed system message
* add avatar by rid test
* update snapshot
* etag cache on select channel
* reset room avatar
* increase caching to have a better image quality
* fix lgtm warn
* invalidate ci cache
* get avatar etag on select users of create discussion
* invalidate ci cache
* Fix migration
* Fix sidebar avatar not updating
* Remove outdated comment
* Tests
Co-authored-by: Prateek93a <prateek93a@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
Co-authored-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* [WIP] Avatar cache invalidation
* [WIP] Avatar container
* [IMPROVEMENT] Avatar container
* [CHORE] Improve code
* Allow static image on Avatar
* Fix avatar changing while change username (#1583)
Co-authored-by: Prateek93a <prateek93a@gmail.com>
* Add default props to properly update on Sidebar and ProfileView
* Fix subscribing on the wrong moment
* Storyshots update
* RoomItem using Avatar Component
* use iife to unsubscribe from user
* Use component on avatar container
* RoomItem as a React.Component
* Move servers models to servers folder
* Avatar -> AvatarContainer
* Users indexed fields
* Initialize author and check if u is present
* Not was found -> User not found (turn comments more relevant)
* RoomItemInner -> Wrapper
* Revert Avatar Touchable logic
* Revert responsability of LeftButton on Tablet Mode
* Prevent setState on constructor
* Run avatarURL only when its not static
* Add streams RC Version
* Move entire add user logic to result.success
* Reorder init on RoomItem
* onPress as a class function
* Fix roomItem using same username
* Add avatar Stories
* Fix pick an image from gallery on ProfileView
* get avatar etag on select users of create discussion
* invalidate ci cache
* Fix migration
* Fix sidebar avatar not updating
Co-authored-by: Prateek93a <prateek93a@gmail.com>
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* New field in table of users
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Saving when the user logged in with email and password
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Saving login method info
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Ask for the user to clear cookies
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Fix lint
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Removing loginMethod from redux and add I18n
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Using async/await instead of then/catch
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Fix lint
Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>
* Pods
* Added dismissText on showConfirmationAlert
* Fix iOS
* Rename function
* I18n tweaks
Co-authored-by: Diego Mello <diegolmello@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>
* Add docker env with orchestration
* Update detox, update mocha config format
* One simulator at a time - mocha won't run parallel
* Docker runner, with test changes to match RC data
* Better error trapping in infrastructure control script
* Swap user provisioning from Mongo to RC API to work against existing servers
* Add docker to e2e readme
* Stop using example.com for emails
* Default detox to the tests directory
* Add working configs for both run scenarios
* Add some optional forcing of data.js version for Docker
* Add expo-apple-authentication
* Button
* Create new provisioning profiles
* Login with Apple
* Change provisioning profile
* Button color based on theme
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
* [NEW] MessageBox: Expo-av audio recorder
* Refactor MessageBox to accommodate recording button even when recording
* Rename Recording.js -> RecordAudio.js as we could implement video recording in the future
* RecordAudio: Introduce cancel and send buttons
* RecordAudio: Introduce recorderBusy state, refactor MessageBox, remove useless SafeAreaView
* RecordAudio: Better audio quality 🎉, stop recording on unmount
* RecordAudio: Use FileSystem from expo-file-system instead of RNFetchBlob
* chore: flush out react-native-audio
* fix(MessageBox): bring back some missed styles during refactor
* refactor(RecordAudio): use class component
* refactor(RecordAudio): recorder busy to class property, styling changes
* recorder initialisation changes
* fix(RecordAudio): missing await in isRecordingPermissionGranted
* fix(RecordAudio): set isRecording = false on cancel/finish, refactor perms
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>