verdnatura-chat/ios/Pods/Headers/Public
Djorkaeff Alexandre 3c9017a62d
[NEW] E2E Encryption (#2394)
* Add E2EKey to Subscription Model

* Install react-native-simple-crypto

* Install bytebuffer

* Add translations

* CreateChannel Encrypted toggle

* Request E2E_Enabled setting

* Add some E2E API methods

* POC E2E Encryption

* Garbage remove

* Remove keys cleaner

* Android cast JWK -> PKCS1

* Initialize E2E when Login Success

* Add some translations

* Add e2e property to Message model

* Send Encrypted messages

* (iOS) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys

* (Android) PKCS1 -> JWK & e2e.setUserPublicAndPrivateKeys

* Create an encrypted channel

* Fix app crashing on RoomsList

* Create room key

* Set Room E2E Key (Android)

* Edit room encrypted

* Show encrypted icon on messages

* logEvents

* Decrypt pending subscriptions & messages

* Handle user cancel e2e password entry

* E2ESavePasswordView

* Update Snapshot

* Add encrypted props to message on Send

* Thread messages encryption

* E2E -> Encryption

* Share Extension: Share encrypted text

* (POC) Search messages on Encrypted room

* Provide room key to new users

* Request roomKey on stream-notify-room-users

* Add e2eKeyId to Room Model

* (WIP) E2E Encryption Screens

* Remove encryption subscription file

* Move E2E_Enable to Server Model

* Encryption List Banner

* Move Encryption init to Sagas

* Show banner only when enabled

* Use RocketChat/react-native-simple-crypto

* Search on WM only when is an Encrypted channel

* (WIP) Encryption Banner

* Encryption banner

* Patch -> Fork

* Improve send encrypted message

* Update simple-crypto

* Not decrypt already decrypted messages

* Add comments

* Change eslint disable to inline

* Improve code

* Remove comment

* Some fixes

* (WIP) Encryption Screens

* Improve sub find

* Resend an encrypted message

* Fix comment

* Code improvements

* Hide e2e buttons on features if it is not enabled

* InApp notifications of a encrypted room

* Encryption stop logic

* Edit encrypted message

* DB batch on decryptPending

* Encryption ready client

* Comments

* Handle getRoomInstance errors

* Multiple messages decrypt

* Remove unnecessary try/catch

* Fix decrypt all messages history

* Just add a questionmark

* Fix some subscriptions missing decrypt

* Disable request key logic

* Fix unicode emojis

* Fix e2ekey request

* roomId -> subscription

* Decrypt subscription after merge

* E2ERoom -> EncryptionRoom

* Fix infinite loading

* Handle import key errors

* Handle request key errors

* Move e2eRequestRoomKey to Rocket.Chat

* WIP handshake when key should be requested

* Add search messages explanation

* Remove some TODO and update comments

* Improvements

* Dont show message hash to user

* Handle key request & prevent multiple calls

* Request E2EKey on decryptSubscription that doesn't exists on database yet

* Insert decrypted subscription

* Fix crash after login

* Decrypt sub when receive the key

* Decrypt pending messages of a room

* Encrypted as a switch

* Buffer to Base64 URI Safe

* Add a relevant comment

* Prevent import key without a privateKey

* Prevent create a new instance when client is not ready

* Update simple-crypto & remove replace trick

* More comments

* Remove useless comment

* Remove useless try/catch

* I18n all E2E screens

* E2ESavePassword -> E2ESaveYourPassword

* Prevent multiple views on message when is not encrypted

* Fix encryption toggle not working sometimes

* follow some suggestions

* dont rotate icons

* remove unnecessary condition

* remove unreachable event

* create channel comment

* disable no-bitwise rule for entire file

* loadKeys -> persistKeys

* getMasterKey -> generateMasterKey

* explicit difference between E2EKey & e2eKeyId

* roomId -> rid

* group columns

* Remove server selector

* missing log events

* remove comment

* use stored public key

* update simple-crypto & remove base64-js patch

* add some logs

* remove unreachable condition

* log errors

* handle errors on provide key directly on subscription

* Downgrade RocketChat/react-native-simple-crypto

* improve get room instance

* migration of older apps

* check encrypted status before send a message

* wait client ready

* use our own base64-js

* add more jest tests

* explain return

* remove unncessary stop

* thrown error to caller

* remove superfluous checks

* use Encryption property

* change ready state logic

* ready -> establishing

* encryption.room -> encryptionRoom

* EncryptionRoom -> Room

* add documentation

* wait establishing before provide a room key

* remove superfluous condition

* improve error handling logic

* fallback e2ekey set

* remove no longer necessary check

* remove e.g.

* improve getRoomInstance

* import from index

* use batch

* fix a comment

* decrypt tmsg

* dont show hash when message is encrypted

* Fix detox

* Apply suggestions from code review

Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-11 11:31:38 -03:00
..
BugsnagReactNative Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
CocoaAsyncSocket Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
CocoaLibEvent Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
DoubleConversion/double-conversion [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
EXAV Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
EXAppleAuthentication [NEW] Sign in with Apple (#2282) 2020-07-14 13:07:45 -03:00
EXConstants [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
EXFileSystem Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
EXHaptics [IMPROVEMENT] Use haptics rather than vibration (#1016) 2019-06-28 14:07:17 -03:00
EXImageLoader Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
EXKeepAwake [IMPROVEMENT] Keep screen awake while recording/playing some audio (#2089) 2020-05-08 09:55:26 -03:00
EXLocalAuthentication [NEW] Passcode and biometric unlock (#2059) 2020-05-08 14:04:37 -03:00
EXPermissions Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
EXVideoThumbnails [NEW] Send multiple attachments (#2162) 2020-06-26 17:22:56 -03:00
EXWebBrowser [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
FBLazyVector/FBLazyVector Update React Native to 0.61.1 (#1236) 2019-09-26 11:59:27 -03:00
FBReactNativeSpec/FBReactNativeSpec Update React Native to 0.61.1 (#1236) 2019-09-26 11:59:27 -03:00
Firebase [CHORE] Use react-native-firebase (#928) 2019-05-28 10:03:08 -03:00
FirebaseCore [CHORE] Memory leaks investigation (#1675) 2020-02-17 16:06:18 -03:00
FirebaseCoreDiagnostics [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
FirebaseCrashlytics [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
FirebaseInstallations [CHORE] Memory leaks investigation (#1675) 2020-02-17 16:06:18 -03:00
Flipper Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
Flipper-DoubleConversion/double-conversion Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
Flipper-Folly/folly Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
Flipper-Glog/glog Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
Flipper-PeerTalk/peertalk Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
Flipper-RSocket Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
FlipperKit Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
GoogleDataTransport [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
GoogleDataTransportCCTSupport [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
GoogleUtilities Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
KeyCommands [NEW] Tablet support (#1300) 2019-11-25 17:01:17 -03:00
MMKV [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
MMKVAppExtension [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
MMKVCore [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
OpenSSL-Universal/openssl Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
PromisesObjC [CHORE] Memory leaks investigation (#1675) 2020-02-17 16:06:18 -03:00
RCTRequired/RCTRequired Update React Native to 0.61.1 (#1236) 2019-09-26 11:59:27 -03:00
RCTTypeSafety/RCTTypeSafety Update React Native to 0.61.1 (#1236) 2019-09-26 11:59:27 -03:00
RNBootSplash [FIX] Few fixes on themes (#1477) 2019-12-17 11:08:06 -03:00
RNCAsyncStorage [NEW] Passcode and biometric unlock (#2059) 2020-05-08 14:04:37 -03:00
RNCMaskedView [CHORE] Update react-navigation to v5 (#2154) 2020-06-15 11:00:46 -03:00
RNConfigReader [FIX] Commit pods after #2171 (#2424) 2020-08-24 14:13:42 -03:00
RNDateTimePicker [NEW] UiKit Beta (#1497) 2020-02-11 11:01:35 -03:00
RNDeviceInfo Several fixes for 1.2.1 (#448) 2018-09-19 11:18:32 -03:00
RNFBAnalytics [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
RNFBApp [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
RNFBCrashlytics [CHORE] Update react-native-firebase (#2336) 2020-07-24 10:19:17 -03:00
RNFastImage [IMPROVEMENT] Clear image cache when clear cache (#2300) 2020-07-17 14:39:06 -03:00
RNGestureHandler [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
RNImageCropPicker [NEW] Send multiple attachments (#2162) 2020-06-26 17:22:56 -03:00
RNLocalize [CHORE] Switch to react-native-localize (#1043) 2019-07-16 11:30:29 -03:00
RNReanimated Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
RNRootView [NEW] Themes (#1298) 2019-12-04 13:39:53 -03:00
RNScreens [CHORE] Update navigation lib (#1201) 2019-09-17 16:24:47 -03:00
RNVectorIcons [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
React-Core/React Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
React-RCTText/RCTText Update React Native to 0.61.1 (#1236) 2019-09-26 11:59:27 -03:00
React-callinvoker/ReactCommon Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
React-cxxreact/cxxreact Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
React-jsi/jsi [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
React-jsiexecutor/jsireact [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
React-jsinspector/jsinspector [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
ReactCommon/ReactCommon Update dependencies (#2301) 2020-07-20 13:35:17 -03:00
ReactNativeART Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
ReactNativeKeyboardInput Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
ReactNativeKeyboardTrackingView Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
SDWebImage [CHORE] Memory leaks investigation (#1675) 2020-02-17 16:06:18 -03:00
SDWebImageWebPCoder [CHORE] Update to react-native 0.60.4 (#1095) 2019-08-07 10:51:34 -03:00
TOCropViewController [NEW] Send multiple attachments (#2162) 2020-06-26 17:22:56 -03:00
UMAppLoader Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
UMBarCodeScannerInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMCameraInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMConstantsInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMCore Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
UMFaceDetectorInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMFileSystemInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMFontInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMImageLoaderInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMPermissionsInterface Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
UMReactNativeAdapter Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
UMSensorsInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
UMTaskManagerInterface [IMPROVEMENT] Use expo-web-browser (#992) 2019-06-21 13:39:20 -03:00
Yoga Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
YogaKit Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
glog/glog Update RN to 0.59.8 (#896) 2019-05-22 17:15:35 -03:00
libwebp [FIX] Link jitsi-meet on Share Extension (#1204) 2019-09-18 18:44:33 -03:00
nanopb [CHORE] Use react-native-firebase (#928) 2019-05-28 10:03:08 -03:00
react-native-appearance [NEW] Themes (#1298) 2019-12-04 13:39:53 -03:00
react-native-background-timer [NEW] Jitsi integration (#1196) 2019-09-18 14:32:12 -03:00
react-native-cameraroll [NEW] Image Viewer (#1479) 2019-12-18 18:13:11 -03:00
react-native-cookies [FIX] Logout from custom oauth (#2377) 2020-08-25 17:04:18 -03:00
react-native-document-picker [NEW] File upload (#882) 2019-07-18 14:25:18 -03:00
react-native-jitsi-meet [CHORE] Update react-native-jitsi-meet (#1235) 2019-09-25 19:13:39 -03:00
react-native-mmkv-storage [NEW] Encrypt user credentials and preferences (#2247) 2020-08-19 14:14:22 -03:00
react-native-notifications Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
react-native-orientation-locker Switch to react-navigation (#687) 2019-03-12 13:23:06 -03:00
react-native-safe-area-context [CHORE] Update react-navigation to v5 (#2154) 2020-06-15 11:00:46 -03:00
react-native-simple-crypto [NEW] E2E Encryption (#2394) 2020-09-11 11:31:38 -03:00
react-native-slider [FIX] Audio player track and thumb not rendering on Android (#1273) 2019-10-04 10:38:35 -03:00
react-native-webview Update all dependencies (#2008) 2020-05-08 13:37:49 -03:00
react_native_simple_crypto [NEW] E2E Encryption (#2394) 2020-09-11 11:31:38 -03:00
rn-extensions-share [FIX] Share Extension issues (#1064) 2019-07-29 13:33:28 -03:00