Aviad Pineles
9f8799d729
fix: don't re-encode public key when changing e2e password ( #5174 )
...
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-09-12 10:06:29 -03:00
Diego Mello
529891fcc0
regression: Rollback to React Native 0.69.8 ( #5162 )
2023-08-18 14:48:33 -03:00
Gleidson Daniel Silva
acbcac29c8
fix: fix bugs related to auto-translate and add tests ( #5144 )
...
* fix re-render on autoTranslateRoom sub update
* create autoTranslate tests
* create getMessageFromAttachment
* fix autoTranslate null value
* add translateLanguage to context
* fix type
* fix shouldComponentUpdate
* add autoTranslate and autoTranslateLanguage to subscription
* use getMessageFromAttachment instead att.description
* remove dequal
* add tryCatch
* 🙏
2023-08-14 17:22:46 -03:00
Reinaldo Neto
da1485ba56
feat: respect the room avatar external provider url setting ( #5095 )
...
* feat: respect the room avatar external provider url setting
* add storyshot
---------
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-06-16 16:21:40 -03:00
Diego Mello
0079229a34
chore: Upgrade React Native to 0.71.7 ( #4984 )
2023-05-18 18:09:33 -03:00
Reinaldo Neto
88144441fd
feat: quotes on E2EE Messages ( #4880 )
...
* [NEW] Quotes on E2EE Messages
* parser inside the model
* refactor and tweaks
* minor tweak
* add e2e tests to test the e2e quotes
* update storyshot
* added the test for quoted message
---------
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-03-23 19:47:05 -03:00
Diego Mello
a1580811ed
[IMPROVE] E2EE improvements ( #4763 )
2023-01-12 10:32:33 -03:00
Alex Junior
614d9afe65
Chore: Evaluate helpers and utils - Typescript ( #4146 )
2022-06-06 11:17:51 -03:00
Gleidson Daniel Silva
89e0a40d95
Chore: remove lib/rocketchat step 2 ( #4035 )
...
* create index file
* remove roomTypeToApiType from rocketchat and fix imports
* move TOKEN_KEY to const file
* move CURRENT_SERVER to const file
* move CERTIFICATE_KEY to const file
* getRoom
* rename getSlashCommands
* getSlashCommands
* readMessages
* getRooms
* loadThreadMessages
* loadNextMessages
* loadSurroundingMessages
* loadMessagesForRoom
* loadMissedMessages
* clearCache
* canOpenRoom
* setUser
* userPreferencesMethods
* getCustomEmojis
* callJtisi
* triggerActions
* getPermissions
* getRoles
* getSettings
* getUsersPresence
* logout
* sendFileMessage
* shareExtension
* sendMessage
* enterpriseModules
* getPermalinks
* search
* change RocketChat.metodo to direct call
* fix types
* Fix login
* Fix createChannel
* migrate service methods to Service.method call
* change call directly to RocketChat because the use of this
* rollback
* rollback
* fix create discussion
* fix import
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-28 17:37:25 -03:00
Gleidson Daniel Silva
d38c17bcd8
Chore: Create app/lib/store folder ( #4028 )
...
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-07 11:19:54 -03:00
Gleidson Daniel Silva
bdf83e546e
Chore: Move constants away from rocketchat folder - Typescript ( #4022 )
...
* create keys file and export all consts
* fix import E2E_MESSAGE_TYPE
* fix constants import
* fix constants import
* fix E2E_BANNER_TYPE import
* fix E2E_ROOM_TYPES import
* fix THEME_PREFERENCES_KEY import
* fix CRASH_REPORT_KEY and ANALYTICS_EVENTS_KEY import
* fix MIN_ROCKETCHAT_VERSION import
* fix constantDisplayMode import
* fix environment imports
* fix links imports
* fix localAuthentication imports
* fix localPath imports
* fix messagesStatus imports
* fix messageTypeLoad imports
* fix defaultSettings imports
* fix tablet imports
* update with todo for colors
* move to lib folder
* change constant/colors to constant
2022-04-07 11:10:03 -03:00
Gleidson Daniel Silva
7d2ae5ea7c
Chore: Evaluate helpers and methods - Typescript ( #4030 )
...
* move userPreferences to methods folder
* create formatAttachmentUrl file
* create compareServerVersion file
* create generateLoadMoreId file
2022-04-07 10:13:19 -03:00
Gleidson Daniel Silva
2eba327396
Chore: Evaluate lib/rocketchat structure and files ( #3986 )
...
* create TSubscription type
* move logoutOtherLocations to restApis
* mvoe getUserInfo to restApi
* move constants to lib folder
* change Rocketchat methods to sdk methods
* move toggleFavorite to restApis
* move functions to rocketchat folder
* delete old rocketchat file :)
* fix imports
* fix lint and return types
* Fix subscribe to rooms not getting called
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-04-04 16:15:29 -03:00
Alex Junior
cd00366613
Chore: Update react-native-mmkv-storage to 0.6.12 ( #3634 )
...
* 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
2022-03-09 16:41:26 -03:00
Reinaldo Neto
d506de9f23
Chore: Migrate REST API - e2eGetUsersOfRoomWithoutKey to Typescript ( #3793 )
...
* Chore: Migrate REST API - e2eGetUsersOfRoomWithoutKey to Typescript
* Update app/definitions/rest/v1/e2e.ts
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2022-03-02 16:53:41 -03:00
Diego Mello
6626510f50
Chore: Migrate RoomActionsView to Typescript ( #3750 )
2022-03-02 11:49:43 -03:00
Gleidson Daniel Silva
4172d563b7
Chore: Server API types POC - loadMessagesForRoom ( #3765 )
...
* create interface and implements base types
* fix some types
* Update app/lib/methods/updateMessages.ts
Co-authored-by: Diego Mello <diegolmello@gmail.com>
* fix date type
* apply types changes
* fix type
* fix date value
* fix types
* typescript things...
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-02-25 18:32:03 -03:00
Alex Junior
cbfca132c5
Chore: Migrate methods/getThreadName to typescript ( #3707 )
...
* chore: change getThreadName to typescript
* chore: change types after merge develop into current
* chore: minor tweak
2022-02-22 13:01:35 -03:00
Gerzon Z
86cc8a7d16
Chore: Migrate buildMessage to TS ( #3732 )
...
* migrate buildMessage to TS
* Fix lint
* minor tweak
* minor tweaks
2022-02-16 20:07:24 -04:00
Gerzon Z
352a718631
Chore: Migrate lib/encryption folder to TypeScript ( #3639 )
...
* Initial commit
* add types/bytebuffer, add type definitions to params and update interfaces
* add more types and type assertions
* update types
* change bang operator by type assertion and update class variables definitions
* add types for deferred class
* minor tweaks on types definitions
* add ts-ignore
* Update encryption.ts
* update deferred and encryption
* update encryption.ts
* Update room.ts
* update toDecrypt type
* initialize sessionKeyExportedString
* remove return types
2022-02-16 17:14:28 -04:00
Diego Mello
88d33b42c2
[FIX] Remove deprecated database methods and other database operations ( #3686 )
...
* Fix PK error on subscriptions/room
* Instead of checking for pending update, wrap the call on a try catch and return null in case of error
* Generate delete operations before create/update to prevent errors
* Apply same logic on encryption
* Fix database operations on getRoles
* Fix a few database issues found on Bugsnag on ThreadMessagesView
* Run prettier :(
2022-02-10 17:16:10 -03:00
Gleidson Daniel Silva
977cfd2863
[FIX] Inject Redux store to prevent/remove require cycles ( #3691 )
...
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2022-02-09 18:16:20 -03:00
Alex Junior
69a67ea998
Chore: Start Typescript migration ( #3279 )
2021-09-13 17:41:05 -03:00
Gung Wah
98890df773
[CHORE] Use shortcut syntax for get collections ( #2932 )
...
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2021-02-26 13:25:51 -03:00
Diego Mello
db5074ab70
[NEW] Encrypted Discussions ( #2813 )
...
* I18n key fix
* Add encrypted switch
* Remove unused i18n keys
* Add enabled to encryption reducer
* Show encrypted option on CreateDiscussionView only when e2e encryption is properly set
* Add localSearch and use it on search
* Use encrypted from parent channel
* Fix method calls as rest api with 2fa enabled
* Fix logout after reset keys
* Use encryption reducer instead of lib directly to check render
* Check for room type logic to display encryption option on create discussion
* Check toggle-room-e2e-encryption permission on RoomActionsView
* Check for encryption status instead of setting on server
* Fix
* Disable switch instead of hide it
* Fix spotlight for DMs
* Fix server test
2021-01-20 14:34:01 -03:00
Diego Mello
645754674d
[CHORE] Remove some migrations ( #2792 )
...
* Remove force rooms refresh
* Remove MMKV migration
2021-01-14 14:06:38 -03:00
Diego Mello
fade17d0de
[IMPROVEMENT] Add `Change Encryption Password` and `Reset E2E Key` ( #2542 )
...
* init
* Basic tests passing
* Add SecurityPrivacyView
* List.Item
* section
* Start removing theme as prop
* Remove StatusBar theme prop
* SafeAreaView theme prop
* Minor fixes
* List.Container
* Add translateTitle and translateSubtitle props
* Storybook
* Show action indicator
* Header
* Info
* Theme stories
* FlatList
* DisplayName
* Fix settings
* FlatList tweaks
* ThemeView
* Screen Lock Config
* DefaultBrowserView
* PickerView and User Prefs
* Notification Prefs
* StatusView
* Auto Translate
* InviteUsersEdit
* Visitor
* Minor fixes
* Remove Separator
* Remove iteminfo
* Font scale
* Legal
* Jitsi and e2e
* Block
* search, star, etc
* auto translate and notifications
* RoomInfo
* Refactor RoomActions
* lint
* Remove DisclosureIndicator
* padding horizontal 12
* Detox
* Tests
* SecurityPrivacy
* E2E encryption sec view
* stash
* Reset own key
* Reset key
* Change password
* Hide content
* Small refactor
* Fix tests
* Tests passing
* Change test order
* add pt-br
* Address review comments
* tests
* Missing i18n ptbr
Co-authored-by: Djorkaeff Alexandre <djorkaeff.unb@gmail.com>
2020-10-30 15:31:04 -03:00
Djorkaeff Alexandre
60dc128c63
[NEW] E2E Encryption push (iOS) ( #2463 )
...
* link pods to notification service
* push encryption poc
* decrypt room key poc
* read user key from mmkv and cast into a pkcs
* push decrypt poc (iOS)
* expose needed watermelon methods
* watermelon -> database
* indent & simple-crypto update
* string extensions
* storage
* toBase64 -> toData
* remove a forced unwrap
* remove unused import
* database driver
* improvement
* folder structure & watermelon bridge
* more improvement stuff
* watermelon -> database
* reuse database instance
* improvement
* database fix: bypass watermelon cache
* some code improvements
* encryption instances
* start api stuff
* network layer
* improve notification service
* improve folder structure
* watermelon patch
* retry fetch logic
* rocketchat class
* fix try to decrypt without a roomKey
* fallback to original content that is translated
* some fixes to rocketchat logic
* merge develop
* remove unnecessary extension
* [CHORE] Improve reply notification code (iOS)
* undo sign changes
* remove mocked value
* import direct from library
* send message request
* reply notification with encrypted message working properly
* revert apple sign
* fix api onerror
* trick to display sender name on group notifications
* revert data.host change
* fix some multithread issues
* use sendername sent by server
* small improvement
* Bump crypto lib
* Update ios/NotificationService/NotificationService.swift
* add experimental string
* remove trailing slash
* remove trailing slash on reply
* fix decrypt messages
Co-authored-by: Diego Mello <diegolmello@gmail.com>
2020-09-24 15:34:13 -03:00
Djorkaeff Alexandre
8ae489074e
[CHORE] Change database location to Experimental Apps ( #2483 )
...
* change database location of experimental apps
* fix migration from older versions
2020-09-23 14:16:04 -03:00
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