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
Djorkaeff Alexandre
c0c4affd80
[IMPROVEMENT] Refactor icon package ( #2146 )
...
* [IMPROVEMENT] Refactor Icon Package
* some size fixes
2020-06-05 10:28:58 -03:00
Diego Mello
7df6afdcd3
[FIX] Emoji parser not working on Hermes ( #1445 )
2019-12-11 16:00:38 -03:00
Diego Mello
7b51df377d
[NEW] Themes ( #1298 )
2019-12-04 13:39:53 -03:00
Diego Mello
145e5c6b55
[FIX] Watermelon batches ( #1277 )
2019-10-08 09:36:15 -03:00
Djorkaeff Alexandre
32a681036e
[CHORE] Use JoyPixels ( #1164 )
...
* react-emojione -> emoji-toolkit
* Change to toUnicode()
* Fix ascii emoji on joypixels
* Revert unnecessary modify
* Fix some emojis
* Fix custom emojis (Android)
* Update Snapshot
2019-09-16 17:50:51 -03:00
Diego Mello
9ba37107c7
[CHORE] Migrate to Watermelon ( #1171 )
...
* Install
* Create subscriptions
* Subscription observing and sorting
* Saving last message
* Stash
* Stash
* stash
* Stash
* Rooms list listing :)
* Animated set state
* Search working
* Fix load rooms on login
* stash db class
* set active db with path
* Remove db on logout
* stash
* Created updateMessages
* Inserting/updating threads
* Persisting thread messages
* Removed unused list
* Loading messages from watermelon
* Debounce updates and rerender message
* optional fields
* Fix realm conflict issues
* Fix some render issues
* stash
* List mount
* stash
* fix message id
* Fix tmsg
* - Save subscription.rid as id on watermelon and _id as _id
- Send room as param to room view
* Throttle room updates
* stash
* comment removeClippedSubviews
* Fetch thread name
* try/catch updateMessages
* Show loading while RoomView.init is still running
* stash
* Fix updateMessages
* Threads
* Delete message
* Permalink
* Pin
* Star
* Report
* MessageActions refactor
* Edit message
* Reply message
* Add reaction
* Auto translate
* Fix connection issues
* Mark message as error if something happened on the call
* Error actions
* get custom emoji
* Always run console.log when __DEV__
* Try to create serversDB
* Don't call updateMessages. Execute that entire logic for one message id instead.
* Refactor update messages
* ServersDB User [Realm -> Watermelon]
* Fix models
* Custom emojis
* Custom emojis on emoji picker
* Frequently used emojis
* Fix add reaction on message
* stash
* Fix
* Read messages
* Fix thread
* Fetch thread header
* Follow/unfollow thread
* Fix thread
* Upload file
* Thread tweak
* Realm -> Watermelon [Share Extension]
* Add RoomsUpdatedAt to Servers Table
* Settings
* Settings
* Fix logout
* SendFileMessage ServersDB
* ServersDB on serverDropdown
* Remove serversDB from Realm
* Load thread messages
* Delete message
* Improve getSettings
* Improve
* Remove subscription
* Remove update
* Update room via socket
* Small refactor
* Fix logout and improve migration
* Refactor updateMessages
* Improve migration
* Remove unnecessary update
* Revert remove runAfterInteractions
* Fix serverDropdown
* Fix merge
* Init room actions Watermelon
* Room actions Watermelon
* Remove realm on room members
* Room swipe -> Watermelon
* Fix hideChannel
* Get roles watermelon
* Get permissions watermelon
* Users typing + memory db
* Auto translate watermelon
* New Message View
* Selected Users View
* try/catch
* Get Slash Commands watermelon
* Slash Commands message box
* Custom emojis message box
* Get rooms message box
* Room info view
* Room info edit
* Save active users
* Small refactor
* Message Actions
* hasPermission await
* last hasPermission fix
* Active users on redux
* Add user roles
* Users typing on redux and remove memory db
* Fix saga delay
* Fix few issues
* Fix slash commands preview
* Draft message
* Add muted
* Unread count watermelon
* Remove realm
* Fiz RoomItem rerenders
* Remove realm config
* Rerender status update on RoomItem
* Refactor RoomsListView
* Fix load missed messages
* Fix room update
* Message refactor
* Fixing lint
* removeClippedSubviews on iOS only
* Added few interaction managers
* Fix few rerenders
* Fix RoomItem status typo
* Fix RoomView.SCU
* Fix broadcast
* Fix user status on RoomActionsView
* Fix RocketChat.hasPermission
* Fix database inconsistencies
* Fix few update issues
* Add rxjs and remove with observables
* Fix tests
* Remove subscriptions
* Fix RoomsListView SCU
* Change database structure and set all schemas to 1
* Fix RoomsListView search
* Fixed errors, removed rerenders and added animation
* Fixed a few errors
* Fix lint
* Fix issues caught by LGTM
* fix ios build
* Fix load unjoined channel messages
* Log on database path on startup
* Fix join channel
* Remove react-native-realm-path
* Set user status on login.user reducer
* Fix status not rendering on RoomsListView
* Fix few reducers
* Fix users going offline
* Never use "watermelon" term directly. Replaced by "database"
* Fix custom emoji
* Creating room from app must update roomUpdatedAt
* Log subscribeRoom start
* Fix room subscribe right after creating a DM
* Refactor is read only on messages actions
* Fix typo
* Fix typo
* Review
* Fix schema
* Fix muted & freq emoji & unpin & unstar
* Remove throttleTime to room info & fix reset on edit room
* Fix openServerDropdown spec & Fix unarchive
* Fix MessageAction
* Refactor RoomInfoEditView
* Remove unnecessary condition
* Remove unnecessary condition
* Remove unnecessary condition
* Remove get database
* Rename Command.js to SlashCommand.js
* Create sanitizer util
* Fix indentation
* Create subscription.t index
* Refactor queries on RoomsListView
* Create subscription.name index
* Fix getPermissions
* Fix indentation
* Add missing await
* Fix rocketchat.hasPermission
* Unnecessary change
* Star, pin e delete message refactored
* Refactor customEmojis reducer
* Remove code
* Remove logs
* Remove throttle
* Call this.init on foreground focus on RoomView
* Bump servers schema migration
* Always mark message as sent after a success
* Fetch only messages needed on updateMessages
* Just leave a comment for now
* Fetch only subscriptions returned by fetch
* Set room param on RoomView header in find room
* Update kotlin
* Fix auto translate constructor
* Fix few setState on constructor
* Fix empty room image blinking while mounting
* Improve fetch/persist execution for custom emojis, permissions and settings
* Query only user tapped on RoomMembersView
* Fix typo on canOpenRoom
2019-09-16 17:26:32 -03:00
Diego Mello
60418b75a4
Message render performance ( #880 )
...
- Refactored Message component to use React.memo and re-render only what's necessary
- Added a test mode to toggle markdown parse by long press drawer (it'll be removed in the next release)
2019-05-20 17:43:50 -03:00